在此都以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