1. 程式人生 > >[zz]存大量被佔用(kswap程序CPU利用率過高)的解決方案

[zz]存大量被佔用(kswap程序CPU利用率過高)的解決方案

 問題描述:

     通過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裡面。