Swap

在 Centos 上擴展交換

  • August 21, 2018

我最近使用本指南在基於 centos 6 的 VPS 上創建了一個交換文件。現在我想擴展這個交換,我正在閱讀這個指南。但是,我認為我創建了一個交換文件而不是一個分區。我該如何擴展這個交換文件?目前大小是512M,我需要再擴展1G。

你能展示一下結果嗎

cat /proc/swaps

所以我們可以確定你的情況?

順便說一句 - 你確定交換空間(文件或分區)在你的 /etc/fstab 中嗎?

  1. 如果您創建了一個 lvm 交換分區,擴展它很容易,您可以使用相同的指南 - 基本上:

換掉;lvextend -L +1G VolGroup/LVswap;mkswap /dev/VolGroup-LVswap;交換 -a 2. 如果您確實創建了一個文件 - 您可以重複該過程,創建另一個 1G 文件並讓交換處理它(交換空間不必是連續的) 3. 或者您可以簡單地刪除文件 (swapoff /path/to/swapfile; rm !$) 並以新的大小重新創建它 4. 或者您可以使用 dd 來擴展您的交換文件(再次確保先交換)

dd oflag=append conv=notrunc if=/dev/zero of=/swapfile bs=1MB count=1024

更新

  1. 建議先使用該free命令,以確定未使用交換。只要交換使用率為 0,並且沒有程序需要比物理可用更多的記憶體,就應該沒有問題。
  2. 每個交換設備都必須存在/etc/fstabswapon -a檢測它們。
  3. 如果使用上面的過程 (3),為了將交換“停機時間”保持在最低限度,您可以執行以下操作:

3.1 創建新的交換文件

3.2 修改/etc/fstab指向新的交換文件。

3.3 swapoff <path/to/OLD/swapfile>

3.4 swapon -a

3.5rm <path/to/OLD/swapfile>

可選擇將 3.3 和 3.4 組合為: swapoff /path/to/OLD/swapfile && swapon -a 將確保最少的時間沒有交換。

引用自:https://unix.stackexchange.com/questions/144213