今天早上手機收到zabbix報警短信,提示lack of free swap space on(交換分區不足)
到對應的伺服器檢視,發現記憶體free加cache還有11個G沒用呢,就開始使用交換分區了
初步懷疑是不是swappiness的初始值沒有更改,于是進行相應的檢視:
#cat /proc/sys/vm/swappiness(也可以用sysctl -q vm.swappiness檢視)

看到都swappiness的值為60,初始值為60,說明沒有進行過更改;
說明:在centos裡面,swappiness的值的大小對如何使用swap分區是有着很大的聯系
swappiness=0:表示隻使用實體記憶體,不使用swap,當實體記憶體用光時,用OOM kill殺死分值低的程序。
swappiness=1:表示當實體記憶體用光時,使用swap記憶體,不殺死相關程序。
swappiness=60:系統預設值。
swappiness=100:表示積極的使用swap分區,并且把記憶體上的資料及時的搬運到swap空間裡面。
對于Centos的預設設定,這個值等于60,建議修改為10。
修改swappiness:
#sysctl vm.swappiness=10
但是這隻是臨時的修改,如果系統重新開機會恢複預設的值60,所有還需要做下一步:
#echo vm.swappiness=10 >> /etc/sysctl.conf
重新加載虛拟内容:
#swapoff -a(關閉虛拟記憶體)
#swapon -a(開戶虛拟記憶體)