第一部分Mem行: total 記憶體總數: 1002M used 已經使用的記憶體數: 769M free 空閑的記憶體數: 232M shared 當前已經廢棄不用,總是0 buffers Buffer 緩存記憶體數: 62M cached Page 緩存記憶體數:421M 關係:total(1002M) ...
$ free -m total used free shared buffers cached Mem: 1002 769 232 0 62 421 -/+ buffers/cache: 286 715 Swap: 1153 0 1153
第一部分Mem行:
- total 記憶體總數: 1002M
- used 已經使用的記憶體數: 769M
- free 空閑的記憶體數: 232M
- shared 當前已經廢棄不用,總是0
- buffers Buffer 緩存記憶體數: 62M
- cached Page 緩存記憶體數:421M
關係:total(1002M) = used(769M) + free(232M)
第二部分(-/+ buffers/cache):
- (-buffers/cache) used記憶體數:286M (指的第一部分Mem行中的used – buffers – cached)
- (+buffers/cache) free記憶體數: 715M (指的第一部分Mem行中的free + buffers + cached)
可見-buffers/cache反映的是被程式實實在在吃掉的記憶體,而+buffers/cache反映的是可以挪用的記憶體總數.
我想大家看了上面,還是很暈.第一部分(Mem)與第二部分(-/+ buffers/cache)的結果中有關used和free為什麼這麼奇怪.
其實我們可以從二個方面來解釋.
- 對操作系統來講是Mem的參數.buffers/cached 都是屬於被使用,所以它認為free只有232.
- 對應用程式來講是(-/+ buffers/cach).buffers/cached 是等同可用的,因為buffer/cached是為了提高程式執行的性能,當程式使用記憶體時,buffer/cached會很快地被使用.