在此都以Cent OS 5.3為例,

有些人可能會利用free指令發現,

記憶體怎麼一直被吃掉…

但用top指令也查不出是哪個程式

這時候在free指令的時候仔細看

絕大部分都是被放到Cache跟Buffer去了,

Cache的作用是讓常用的文件暫存在記憶體裡面,減少IO次數提升效率

而Buffer則是減緩文件正式寫入硬碟的時間,

在Web Server上會很明顯的一點就是Cache大量消耗,

這有助於提升整體Web Server的效率沒錯,

所以在RAM Size還允許的情況下,不太建議清除記憶體

但若有程式不能完全釋放記憶體的情況下,

仍想清除Cache的時候該如何呢

可以用以下指令

echo 1 > /proc/sys/vm/drop_caches

建議用1即可,用2可以從dentries、inodes中壓出更多的空間.

echo 2 > /proc/sys/vm/drop_caches

但3就不建議了,容易造成系統錯誤.

記得釋放完,要再下

echo 0 > /proc/sys/vm/drop_caches

指令.來回復預設狀況喔!~

轉載自 http://blog.lansea-chu.com/index.php/archives/568