2012年2月27日 星期一

[Linux][Ubuntu][Free Memory]

幾天前,心血來潮下了 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

沒有留言:

張貼留言