1. 程式人生 > >Linux系統記憶體監控全面講解之free命令

Linux系統記憶體監控全面講解之free命令

   
[[email protected] tmp]# free  total used free shared buffers cached  
Mem: 3266180 3250004 16176 0 110652 2668236  -/+ 
buffers/cache: 471116 2795064  
Swap: 2048276 80160 1968116 

下面是對這些數值的解釋:
total:總計實體記憶體的大小
used:已使用多大。
free:可用有多少。
Shared:多個程序共享的記憶體總額。
Buffers/cached:磁碟快取的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
第四行就不多解釋了。
    區別:第二行(mem)的used/free與第三行(-/+ buffers/cache) used/free的區別。 這兩個的區別在於使用的角度來看,第一行是從OS的角度來看,因為對於OS,buffers/cached 都是屬於被使用,所以他的可用記憶體是16176KB,已用記憶體是3250004KB,其中包括,核心(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.

第三行所指的是從應用程式角度來看,對於應用程式來說,buffers/cached 是等於可用的,因為buffer/cached是為了提高檔案讀取的效能,當應用程式需在用到記憶體的時候,buffer/cached會很快地被回收。

所以從應用程式的角度來說,可用記憶體=系統free memory+buffers+cached。

如上例2795064=16176+110652+2668236

接下來解釋什麼時候記憶體會被交換,以及按什麼方交換。 當可用記憶體少於額定值的時候,就會開會進行交換。

如何看額定值: