幾天前,心血來潮下了 free 來看看 memory usage,意外發現可利用的 memory
剩不到 1/4,明明我也沒用的特別兇猛阿。(雖然 Fx 的確可能會吃的很兇啦....)
但用 ps aux 來看,自己加一加卻發現全體 processes 沒有用到那麼大量的記憶體。
那到底是怎麼回事呢??
再仔細看了一下 free show 出的內容,怎麼 cached 那一塊特別的大!?
該不會是都被 cache 用走了吧 Orz
看了 Reference 的部份才發現 Linux 2.6.16 後的版本在顯示上並不會說有
釋放 memory 的動作,不過實際上當有需要時還是會壓榨出來使用。
若想強勢清除 cache 以達到 free memory 的動作,用以下的指令:
sudo su
echo 3 > /proc/sys/vm/drop_caches
sudo su 就事變身為 root,我有試過
sudo echo 3 > /proc/sys/vm/drop_caches
結果是 permission denied....
所以還是先變身為 root 再執行動作吧。
/proc/sys/vm/drop_caches 裡頭原本的值是 0。
不同的值所代表的意義如下:
0 # default
1 # free pagecache
2 # free dentries, inodes
3 # free pagecache, dentries, inodes
(奇怪,我沒有 drop_caches 的 man page....)
現在把值改為 3,再觀察一陣子看看。
Reference:
http://gwokae.mewggle.com/wordpress/index.php/archives/544
ftp://ftp.alaska.edu/pub/sois/man/drop_caches.html
沒有留言:
張貼留言