學習啦 > 學習電腦 > 操作系統 > Linux教程 > linux中free命令的詳細解釋

linux中free命令的詳細解釋

時間: 佳洲1085 分享

linux中free命令的詳細解釋

  linxu下的find命令可以用來查找文件,那么它的具體用法是怎樣的呢?下面由學習啦小編為大家整理了linux的free命令的詳細解釋的相關知識,希望對大家有幫助!

  一.linux的free命令的詳細解釋

  free命令

  free命令可以顯示當前系統未使用的和已使用的內存數目,還可以顯示被內核使用的內存緩沖區(qū)。

  語法

  free(選項)

  選項

  -b:以Byte為單位顯示內存使用情況;

  -k:以KB為單位顯示內存使用情況;

  -m:以MB為單位顯示內存使用情況;

  -o:不顯示緩沖區(qū)調節(jié)列;

  -s<間隔秒數>:持續(xù)觀察內存使用狀況;

  -t:顯示內存總和列;

  -V:顯示版本信息。

  二、linux中的free命令的詳解實例

  free -m

  total used free shared buffers cached

  Mem: 2016 1973 42 0 163 1497

  -/+ buffers/cache: 312 1703

  Swap: 4094 0 4094

  第一部分Mem行解釋:

  total:內存總數;

  used:已經使用的內存數;

  free:空閑的內存數;

  shared:當前已經廢棄不用;

  buffers Buffer:緩存內存數;

  cached Page:緩存內存數。

  關系:total = used + free

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

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

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

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

  第三部分是指交換分區(qū)。

  參考資料:linux的free命令中buffers與cached的區(qū)別

  A buffer is something that has yet to be “written” to disk. A cache is something that has been “read” from the disk and stored for later use

  對于應用程序來說,buffers/cached 是等于可用的,因為buffer/cached是為了提高文件讀取的性能,當應用程序需在用到內存的時候,buffer/cached會很快地被回收。

  所以從應用程序的角度來說 可用內存=系統free memory+buffers+cached.

  buffers是指用來給塊設備做的緩沖大小,他只記錄文件系統的metadata以及 tracking in-flight pages.

  cached是用來給文件做緩沖。

  那就是說:buffers是用來存儲,目錄里面有什么內容,權限等等。

  而cached直接用來記憶我們打開的文件,如果你想知道他是不是真的生效,你可以試一下,先后執(zhí)行兩次命令#man X ,你就可以明顯的感覺到第二次的開打的速度快很多。

  cached實驗:在一臺沒有什么應用的機器上做會看得比較明顯。記得實驗只能做一次,如果想多做請換一個文件名。

  #free#man X#free#man X#free

  你可以先后比較一下free后顯示buffers的大小。

  buffers實驗:

  #free#ls /dev#free

  你比較一下兩個的大小,當然這個buffers隨時都在增加,但你有l(wèi)s過的話,增加的速度會變得快,這個就是buffers/chached的區(qū)別。

  因為Linux將你暫時不使用的內存作為文件和數據緩存,以提高系統性能,當你需要這些內存時,系統會自動釋放(不像windows那樣,即使你有很多空閑內存,他也要訪問一下磁盤中的pagefiles)

3635163