free命令可用記憶體分析

weifenghq發表於2012-02-23
一直對free命令顯示的記憶體不是十分清楚,只是知道Linux會快取部分記憶體,如何透過free反應剩餘記憶體一直比較疑惑。 [root@redhat5 ~]# free total used free shared buffers cached Mem: 779264 670100 109164 0 158624 327892 -/+ buffers/cache: 183584 595680 Swap: 1343480 0 1343480 只分析實體記憶體,swap不做說明 buffers/cache的使用量為183584bytes,是透過下面方法算出來的 buffers/cache free = total-free-buffers-cached mem used包含buffers和cached mem total = buffers/cache used+buffers/cache free Free(-/+ buffers/cache行)= Free(Mem)+buffers(Mem)+Cached(Mem); 所以我認為檢視實體記憶體的真實使用情況應該看 -/+ buffers/cache: 183584 595680 總結: 實體記憶體使用量為buffers/cache used 183584 實體記憶體剩餘量為buffers/cache free 595680 其他補充: buffers:系統分配但未被使用的buffers 數量 cached:系統分配但未被使用的cache 數量 參考: http://blog.csdn.net/turkeyzhou/article/details/6426738 在Free命令中顯示的buffer和cache,它們都是佔用記憶體: buffer : 作為buffer cache的記憶體,是塊裝置的讀寫緩衝區,更靠近儲存裝置,或者直接就是disk的緩衝區。 cache: 作為page cache的記憶體, 檔案系統的cache,是memory的緩衝區 如果cache 的值很大,說明cache住的檔案數很多。如果頻繁訪問到的檔案都能被cache住,那麼磁碟的讀IO 必會非常小[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/633084/viewspace-1057429/,如需轉載,請註明出處,否則將追究法律責任。

相關文章