2009年12月9日

記憶體使用的疑問?free vs 系統監控

在使用系統監控跟free指令的時候,明顯的記憶體耗用不一樣,free顯示記憶體幾乎"一去不回頭"

只好問問google囉,然後看看網路上的"傳說"(傳說中拔到獅子的鬃毛...)
不同的 process 是可以 share memory 的,
因此把所有 process 的記憶體用量加起來會大於或等於實際記憶體的用量

此外 Linux 核心似乎會常會看到有不少 buffer,也就是說 process 執行時原先
要了一些記憶體來使用,在釋放記憶體時不會直接釋放而是先作為buffer除非
其他的 process 需要用到記憶體才會將 buffer 釋放,然後交給其他 process使用

Sun Solaris 就比較少有這種狀況, buffer通常不會吃得像Linux那麼誇張

不過老實說,我對這樣的說法還不確定,還有就是這現象存疑,到底分別是抓哪個的資料造成這樣的不同??

沒有留言: