free命令詳解

 

基礎命令學習目錄首頁html

 

原文連接:https://blog.csdn.net/u011616400/article/details/80198398node

一、free命令顯示結果

  1.  
    $free
  2.  
    total used free shared buffers cached
  3.  
    Mem: 16464652 16371084 93568 0 305928 14781392
  4.  
    -/+ buffers/cache: 1283764 15180888
  5.  
    Swap: 0 0 0
  • 1
  • 2
  • 3
  • 4
  • 5

這裏寫圖片描述

二、參數詳解

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

三、結果說明

第一部分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一些數據,以方便下次使用。但實際上這些內存也是能夠馬上拿來使用的。post

第二部分(-/+ 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會很快地被使用。spa

第三部分Swap交換分區:操作系統

你們自行Google瞭解。.net

四、結果說明

這裏寫圖片描述

因此,弄清楚參數意義,就不會產生誤解,覺得Mem行free內存不多,是否是須要升級服務器內存等等。看內存夠不夠用重點是要看(-/+ buffers/cache)的free和used爲主。

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

五、參考資料

一、Linux系統內存監控全面講解:free命令 
二、Linux的free命令詳解 
三、Swa

相關文章
相關標籤/搜索