【Linux】Linux 的快取記憶體

楊奇龍發表於2011-12-31
      Linux與Win的記憶體管理不同,linux會盡量快取記憶體以提高讀寫效能,通常叫做Cache Memory。通常使用free 命令檢視記憶體的使用時,free 的值往往比較小!檢視系統的 /proc/meminfo 檔案,值Cached 就是快取記憶體。
[root@rac3 ~]# cat /proc/meminfo 
MemTotal:      4044784 kB
MemFree:        303340 kB
Buffers:         58196 kB
Cached:        3287252 kB
SwapCached:      27792 kB
Active:        1611588 kB
Inactive:      2021116 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:      4044784 kB
LowFree:        303340 kB
SwapTotal:     4192956 kB
SwapFree:      3652160 kB
Dirty:              16 kB
Writeback:           0 kB
AnonPages:      259492 kB
Mapped:         480964 kB
Slab:            62224 kB
PageTables:      23276 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   6215348 kB
Committed_AS:  2194196 kB
VmallocTotal: 34359738367 kB
VmallocUsed:    264968 kB
VmallocChunk: 34359472887 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
Hugepagesize:     2048 kB
使用free 命令檢視記憶體:
[root@rac3 ~]# free 
                   total         used                   free     shared    buffers     cached
Mem:       4044784    3740080     304704          0      56744    3286972
-/+ buffers/cache:     396364    3648420
Swap:      4192956     540900    3652056
其中第一行用全域性角度描述系統使用的記憶體狀況:
total       總實體記憶體 !
used     已使用記憶體,一般情況這個值會比較大,因為這個值包括了cache+應用程式使用的記憶體 即是used=buffers+cached 
free        完全未被使用的記憶體
shared  應用程式共享記憶體
buffers  快取,主要用於目錄方面,inode值等(ls大目錄可看到這個值增加)
cached  快取,用於已開啟的檔案!
第二行描述應用程式的記憶體使用:
-/+ buffers/cache:     396364    3648420
-buffers/cache 396364  前個值表示應用程式使用的記憶體大小,used減去快取值 即:-buffers/cache=used-buffers-cached
+buffers/cache 3648420 後個值表示所有可供應用程式使用的記憶體大小,free加上快取值 即: +buffers/cache=free+buffers+cached
第三行表示swap的使用:
used——已使用
free——未使用
       執行free 命令的結果中,used數值偏大,free數值偏小,free的值總是比較小是因為每當操作檔案的時候,Linux都會盡可能的把檔案快取到記憶體裡,當再次訪問此資料的時候,可以直接從記憶體中取資料,避免磁碟操作!所以cached的數值非常的大,cache 部分記憶體是可回收的,作業系統會按照LRU演算法淘汰冷資料。buffers也是可回收的,buffers和cache的區別,“Cache和Buffer是兩個不同的概念,簡單的說,Cache是加速“讀”,而buffer是緩衝“寫”,前者解決讀的問題,儲存從磁碟上讀出的資料,後者是解決寫的問題,儲存即將要寫入到磁碟上的資料。”

參考文章
 

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

相關文章