Linux 增加 swap 空間

Linux 的 Swap 類似 Windows 下的虛擬記憶體, 當記憶體不足時, 把 Swap 的空間當作暫時記憶體使用, 從而解決記憶體不足的問題。如果 Swap 空間不夠用, 需要增加 Swap 空間的話, 可以使用 Swap Partition 或 Swap 檔案實現, 以下會介紹在 RHEL, CentOS 及 Fedora 透過 Swap 檔案增加 Swap 空間。

在開始前先檢查一些目前系統是否有設定 Swap 空間, 可以用 “swapon -s” 指令檢查:

# swapon -s
Filename        Type    Size  Used  Priority
/dev/sda2                               partition 2097148 38516 -1
   
# swapon -s
Filename        Type    Size  Used  Priority
/dev/sda2                               partition 2097148 38516 -1

上看到目前系統有 2 GB Swap 空間, 使用了 37MB.

然後再看看系統各分割區的可用空間:
# df -h

假設我要在 / 下面建立 4GB 的 Swap 檔案, 可以用 fallocate 指令, 語法如下:
# fallocate -l 4G /swapfile

建立好 /swapfile 檔案後, 然後需要格式化這個 Swap 檔案, 並設定系統使用這個檔案作為 Swap 空間:
# chmod 600 /swapfile
# mkswap /swapfile
# swapon /swapfile

設定完成後, 可以再用 “swapon -s” 檢查設定是否生效:

# swapon -s
Filename                Type        Size    Used    Priority
/swapfile               file        4194300 0     -1

# swapon -s
Filename                Type        Size    Used    Priority
/swapfile               file        4194300 0     -1

現在系統已經可以使用 /swapfile 用為 Swap 空間, 但當重新啟動系統後, 設定就會失效, 要在重新開機後自動使用 /swapfile 作為 Swap 空間, 需要修改 /etc/fstab 檔案:
# vi /etc/fstab

在最低下加下這行:

/swapfile   swap    swap    sw  0   0
1
   
/swapfile   swap    swap    sw  0   0

儲存後就完成設定了。

留言

這個網誌中的熱門文章

c語言-關於#define用法

CMD常用網管指令

使用windows CMD 時間自動校正