linux中free命令的詳細解釋
linux中free命令的詳細解釋
linxu下的find命令可以用來查找文件,那么它的具體用法是怎樣的呢?下面由學習啦小編為大家整理了linux的free命令的詳細解釋的相關(guān)知識,希望對大家有幫助!
一.linux的free命令的詳細解釋
free命令
free命令可以顯示當前系統(tǒng)未使用的和已使用的內(nèi)存數(shù)目,還可以顯示被內(nèi)核使用的內(nèi)存緩沖區(qū)。
語法
free(選項)
選項
-b:以Byte為單位顯示內(nèi)存使用情況;
-k:以KB為單位顯示內(nèi)存使用情況;
-m:以MB為單位顯示內(nèi)存使用情況;
-o:不顯示緩沖區(qū)調(diào)節(jié)列;
-s<間隔秒數(shù)>:持續(xù)觀察內(nèi)存使用狀況;
-t:顯示內(nèi)存總和列;
-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:內(nèi)存總數(shù);
used:已經(jīng)使用的內(nèi)存數(shù);
free:空閑的內(nèi)存數(shù);
shared:當前已經(jīng)廢棄不用;
buffers Buffer:緩存內(nèi)存數(shù);
cached Page:緩存內(nèi)存數(shù)。
關(guān)系:total = used + free
第二部分(-/+ buffers/cache)解釋:
(-buffers/cache) used內(nèi)存數(shù):第一部分Mem行中的 used – buffers – cached
(+buffers/cache) free內(nèi)存數(shù): 第一部分Mem行中的 free + buffers + cached
可見-buffers/cache反映的是被程序?qū)崒嵲谠诔缘舻膬?nèi)存,而+buffers/cache反映的是可以挪用的內(nèi)存總數(shù)。
第三部分是指交換分區(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是為了提高文件讀取的性能,當應用程序需在用到內(nèi)存的時候,buffer/cached會很快地被回收。
所以從應用程序的角度來說 可用內(nèi)存=系統(tǒng)free memory+buffers+cached.
buffers是指用來給塊設備做的緩沖大小,他只記錄文件系統(tǒng)的metadata以及 tracking in-flight pages.
cached是用來給文件做緩沖。
那就是說:buffers是用來存儲,目錄里面有什么內(nèi)容,權(quán)限等等。
而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將你暫時不使用的內(nèi)存作為文件和數(shù)據(jù)緩存,以提高系統(tǒng)性能,當你需要這些內(nèi)存時,系統(tǒng)會自動釋放(不像windows那樣,即使你有很多空閑內(nèi)存,他也要訪問一下磁盤中的pagefiles)