free -m 詳解

1.用途說明
free命令用來顯示內存使用狀況。display information about free and used memory on the system。
free 命令相對於top 提供了更簡潔的查看系統內存使用狀況:
[root@localhost ~]# free -m 
             total       used       free     shared    buffers     cached
Mem:           996        526        469          0         33        382
-/+ buffers/cache:        110        885
Swap:         1999          0       1999
其中的相關說明:
Mem:表示物理內存統計
-/+ buffers/cached:表示物理內存的緩存統計
Swap:表示硬盤上交換分區的使用狀況(這裏咱們不去關心)
系統的總物理內存:255268Kb(256M),但系統當前真正可用的內存並非第一行free 標記的 16936Kb,它僅表明未被分配的內存。
咱們使用total一、used一、free一、used二、free2 等名稱來表明上面統計數據的各值,一、2 分別表明第一行和第二行的數據。
total1: 表示物理內存總量。
used1: 表示總計分配給緩存(包含buffers 與cache )使用的數量,但其中可能部分緩存並未實際使用。
free1: 未被分配的內存。
shared1: 共享內存,通常系統不會用到,這裏也不討論。
buffers1: 系統分配但未被使用的buffers 數量。
cached1: 系統分配但未被使用的cache 數量。buffer 與cache 的區別見後面。
used2: 實際使用的buffers 與cache 總量,也是實際使用的內存總量。
free2: 未被使用的buffers 與cache 和未被分配的內存之和,這就是系統當前實際可用內存
2.經常使用參數
b 以字節爲單位顯示。
-k 以K字節爲單位顯示。默認顯示。
-m 以兆字節爲單位顯示。
-s 每隔多少秒重複執行。可編寫一個腳本用於監控。
3.數值的單位是m。
Mem開頭的行:total是指內存總數。好比這臺機器4G內存,實際上已經扣除掉了做爲顯存的部分。
used是指操做系統已經使用的內存數。這部分既包括操做系統自己使用的部分,也包括應用程序已經使用的部分,還包括緩存的部分。
free是指操做系統尚未使用的內存數。咱們一般看到這部分比較小。
shared已經廢棄不用,老是顯示0。
buffers和cached是指做爲緩存的內存數。-/+ buffers/cache開頭的行:(重點看這行)
used列是指應用程序總共使用的內存數。等於Mem.used-Mem.buffers-Mem.cached。
free列是指應用程序還未使用的內存數。這個數據纔是咱們須要關注的空閒可用內存數。等於Mem.free+Mem.buffers+Mem.cached。若是此行中free列的數據過小,那麼就須要優化程序或者增長物理內存了。
相關文章
相關標籤/搜索