其實添加的方法有很多,這裡只是官方協助裡面的一個方法
檢查Swap空間
首先檢查一下系統中有沒有存在的Swap檔案
swapon -s
如果返回資訊為上圖的話,則表示 Swap 檔案不存在。
檢查檔案系統
在設定Swap檔案之前,先檢查檢查一下是否有足夠的硬碟
df -hal
建立並啟用Swap檔案
使用 dd 命令來建立 Swap 檔案
dd if=/dev/zero of=/swapfile bs=1024 count=512k
格式化並啟用Swap檔案
格式化Swap分區
mkswap /swapfile
do-swap-4
啟用Swap分區
swapon /swapfile
完成上面的步驟後執行
swapon -s
do-swap-5
執行後就會顯示出如下面/上圖
Filename Type Size Used Priority
/swapfile file 524284 0 -1
添加系統啟動項
添加系統啟動項主要就是在機器重啟的時候自動掛載 Swap,所以我們需要修改一下fstab配置
vi /etc/fstab
在最後的一行添加上
/swapfile swap swap defaults 0 0
添加好啟動項後,賦予 Swap 檔案適當的許可權
chown root:root /swapfile
chmod 0600 /swapfile
配置swappiness
CentOS 中,swappiness 的預設值是60。
cat /proc/sys/vm/swappiness
do-swap-6
在linux系統中,是否使用swap,以及使用的比例,可以由swappiness這個參數決定。這個值在0到100之間,如果是0,則不使用swap,如果是100,則系統將非常積極的使用swap而非記憶體。(記得在很久之前有詳細介紹過:swappiness,但是不知道在那一個部落格了,因為部落格更換N次了)
調整 swappiness 的值到一個合適的參數,從而達到最佳化使用 Swap 的目的。推薦設定為10。
使用 sysctl 命令
sysctl vm.swappiness=10
do-swap-7
現在我們修改的僅是暫時的,重啟系統後就會恢複預設的60,所以我們還需要修改:sysctl.conf
vi /etc/sysctl.conf
在最後的一行添加
do-swap-8
# Search for the vm.swappiness setting. Uncomment and change it as necessary.
vm.swappiness=10
到這裡我們已經設定好Swap分區,即使重啟系統後依舊會載入Swap分區