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列的數據過小,那麼就須要優化程序或者增長物理內存了。