【Linux】swap space 交換磁區

Linux 的 swap space 是當實體記憶體(RAM)不足時讓 Linux 使用. 當 Linux 需要更多 RAM 而 RAM 不夠時, 當下 RAM 內未用到資料便會移到 swap space, 但可不要因此將 swap space 當做加大 RAM 的替代方案, 因為 swap space 位於硬碟, 其存取速度比真正的 RAM 慢多了.

建議分割硬碟時, 切出一個專門做為 swap space 的分割區.


分割 swap space 的大小原則為 ---- 至少為 32MB, 實體RAM 在 2G 以下者, swap space 約為 RAM 的 2 倍, RAM 為 2G 以上者, swap space 約等於 RAM.


注意! 以上只是原則, 理論, 並不是定律, 實際分配還是應根據各自系統的需求做調校.

要調整 swap space 的最好方法是重新啟動電腦, 並以 rescue 模式進入 Linux, 當系統提示要 mount(掛載)檔案系統時, 選擇 skip(略過).


加大 swap
有時我們在安裝好 Linux 後需要加大 swap, 例如 RAM 原本是 128M, swap 是 256M; RAM 加到 256M 後, 我們也希望將 swap 調大為 512M.


您有 3 種選擇 -- 1.建立一個新的 swap 分割區, 2.建立一個 swap 檔, 3.加大原本在 LVM2 的 swap; 建議採用第 3 種.


加大 LVM2 的 swap, 假設要加大的 swap 在 /dev/VolGroup00/LogVol01
1. 停止 swap
  # swapoff -v /dev/VolGroup00/LogVol01
2. 為原本的大小加 256M
  # lvm lvresize /dev/VolGroup00/LogVol01 -L +256M
3. 格式化新 swap
  # mkswap /dev/VolGroup00/LogVol01
4. 啟動 swap
  # swapon -va
5. 測試確認
  # cat /proc/swaps
  # free