free查看內存使用情況

free命令顯示結果

內存空間使用狀態:
free [OPTION]
-b 以字節爲單位
-m 以MB爲單位
-g 以GB爲單位
-h 易讀格式
-o 不顯示-/+buffers/cache行
-t 顯示RAM + swap的總和
-s n 刷新間隔爲n秒
-c n 刷新n次後即退出
 


2345


2、參數詳解

參數釋義
total內存總數,物理內存總數
used已經使用的內存數
free空閒的內存數
shared多個進程共享的內存總額
buffers Buffer緩存內存數
cached Page緩存內存數
-buffers/cache應用使用內存數
+buffers/cache應用可用內存數
Swap交換分區,虛擬內存

3、結果說明

第一部分Mem行:

  • total 內存總數: 15.7G

  • used 已經使用的內存數: 15.6G

  • free 空閒的內存數: 93M

  • shared 當前已經廢棄不用,總是0

  • buffers Buffer 緩存內存數: 298M

  • cached Page 緩存內存數:14G

對操作系統來講是Mem的參數,buffers/cached 都是屬於被使用,所以它認爲free只有93M。

我們通過free命令查看機器空閒內存時,會發現free的值很小。這主要是因爲,在Linux系統中有這麼一種思想,內存不用白不用,因此它儘可能的cache和buffer一些數據,以方便下次使用。但實際上這些內存也是可以立刻拿來使用的。

第二部分(-/+ buffers/cache):

  • (-buffers/cache) used內存數:1.2G (指的第一部分Mem行中的used – buffers – cached)

  • (+buffers/cache) free內存數: 14.4G (指的第一部分Mem行中的free + buffers + cached)

可見-buffers/cache反映的是被程序實實在在吃掉的內存,而+buffers/cache反映的是可以挪用的內存總數.

對應用程序來講是(-/+ buffers/cach).buffers/cached 是等同可用的,因爲buffer/cached是爲了提高程序執行的性能,當程序使用內存時,buffer/cached會很快地被使用。

第三部分Swap交換分區:


當可用內存少於額定值的時候,就會開始進行交換.
#cat /proc/meminfo


交換將通過三個途徑來減少系統中使用的物理頁面的個數:
1.減少緩衝與頁面cache的大小,
2.將系統V類型的內存頁面交換出去,
3.換出或者丟棄頁面。(Application 佔用的內存頁,也就是物理內存不足)。

事實上,少量地使用swap是不是影響到系統性能的。

4、結果說明


所以,弄清楚參數意義,就不會產生誤解,以爲Mem行free內存很少,是不是需要升級服務器內存等等。看內存夠不夠用重點是要看(-/+ buffers/cache)的free和used爲主。

另外告訴大家一些常識。Linux爲了提高磁盤和內存存取效率,Linux做了很多精心的設計,除了對dentry進行緩存(用於VFS,加速文件路徑名到inode的轉換),還採取了兩種主要Cache方式:Buffer Cache和Page Cache前者針對磁盤塊的讀寫,後者針對文件inode的讀寫。這些Cache能有效縮短了 I/O系統調用(比如read,write,getdents)的時間。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章