[root@ntkbr06 proc]# free
total used free shared buffers cached
Mem: 1030528 1021884 8644 0 88832 793816 --> (代號 r1)
-/+ buffers/cache: 139236 891292 --> (代號 r2)
Swap: 2096472 112268 1984204 --> (代號 r3)
Mem:表示實體記憶體使用統計
-/+ buffers/cached:表示實體記憶體的緩存統計
Swap:表示硬盤上交換分區的使用情況
為什麼剩下的記憶體只剩下8M,這是因為Linux認為記憶體沒有使用非常的可惜,所以把空的記憶體
當成Cache及Buffer使用,等到程式需要使用記憶體時,才將Cache、Buffer空出來使用。
第二行(mem)的used/free與第三行(-/+ buffers/cache) used/free的區別:
第二行是從OS的角度來看, buffers/cached 都是屬於被使用,所以可用記憶體是8M
第三行是從應用程式角度來看,當應用程式需再用到記憶體的時候,會回收buffer/cached的空間,所以可用記憶體是890M
r1_free + r1_buffers + r1_cached = r2_free
8644 + 88832 + 793816 = 891292 --> 記憶體中可用的部份
r2_used + r2_free = r1_total
139236 + 891292 = 1030528 --> 實際記憶體大小
因此,程式實際佔用的記憶體為-/+ buffers/cache中used的部份