[zz]存大量被佔用(kswap程序CPU利用率過高)的解決方案
阿新 • • 發佈:2019-01-24
問題描述:
通過free檢視時,大概有一半以上的實體記憶體分配到cache裡面,這樣大的
cache是造成記憶體的耗盡緣由,與此同時使用top或ps檢視程序時,kswapd程序負荷
很高,一般在90%以上,kswapd程序的作用是用於記憶體回收,確保系統空閒物理內
存的數量在一個合適的範圍,它是按照一定比率來回收系統當前不活動的記憶體(默
認的比率是5%),也就是cache和buffer佔用的。
在紅旗4.0或4.1伺服器版本(小於2.4.21-9.30的核心應該都存在這個問題)上安裝資料庫或OA應用出現機率比較高,因
為這些應用有大量的資料需要在記憶體和硬碟之間交換,這應該屬於核心的一個
BUG,在4.1上打上SP1的補丁就不會有這種情況了。
解決方案:
將inactive_clean_percent 的值由預設的5調整到
100,這樣做的目的就是設定kswapd回收記憶體的比率為100%,具體做法是:
# echo 100 > /proc/sys/vm/inactive_clean_percent
如果能解決問題,最好把的這條命令加到rc.local裡面。