1蒂胞,free命令
-b/-k/-m: 以Byte/KB/MB為單位顯示內(nèi)存使用情況。
-o: 不顯示緩沖區(qū)調(diào)節(jié)列抹蚀。
-s: 持續(xù)觀察內(nèi)存使用狀況
-t 顯示內(nèi)存總和列
執(zhí)行free之后各字段說(shuō)明
系統(tǒng)的總物理內(nèi)存是18270760KB笨农,但系統(tǒng)當(dāng)前真正可用的內(nèi)存小并不是第一行free標(biāo)記的1559072KB荠医,它僅代表沒(méi)被分配的內(nèi)存褂乍。
第一行 Mem :表示物理內(nèi)存的緩存統(tǒng)計(jì)
total:表示物理內(nèi)存總量
used:表示總計(jì)分配給緩存(包含buffers與cach)使用的數(shù)量持隧,但其中可能有部分緩存并未實(shí)際使用。
free:未被分配的內(nèi)存
shared:共享內(nèi)存
bufers:系統(tǒng)已分配但未被使用的buffers數(shù)量
cached:系統(tǒng)已分配但未被使用的cache數(shù)量
buffer是指作為buffer cache的內(nèi)存逃片,即塊設(shè)備的讀寫(xiě)緩沖區(qū)屡拨,cache是指作為page cache的內(nèi)存,即文件系統(tǒng)的cache褥实。如果cache的值很大呀狼,則說(shuō)明cache主的文件數(shù)量很多。如果頻繁訪問(wèn)到的文件都能被cache住损离,那么磁盤(pán)的讀I/O必定會(huì)非常小哥艇,但是過(guò)大的文件cache可能會(huì)影響到內(nèi)存的使用效率,導(dǎo)致操作系統(tǒng)上其他進(jìn)程的內(nèi)存不夠大僻澎,甚至還會(huì)使用到swap空間貌踏。
total =used + free
第二行 -/+ buffers/cache :表示物理內(nèi)存的緩存統(tǒng)計(jì)
used:也就是第一行中的userd-buffers-cached,也是實(shí)際使用的內(nèi)存總量
free:未被使用的buffers與cache和未被分配的內(nèi)存之和=第一行的(buffers+cached+free)窟勃,這就是系統(tǒng)當(dāng)前實(shí)際可用的內(nèi)存哩俭。
第三行 Swap:表示硬盤(pán)上交換分區(qū)的使用情況。
第二行所指的是從應(yīng)用程序的角度來(lái)看拳恋,對(duì)應(yīng)用程序來(lái)講,buffers/cache是等同可用的砸捏,當(dāng)程序使用內(nèi)存時(shí)谬运,buffers/cache會(huì)很快地被使用。從應(yīng)用程序的角度來(lái)說(shuō)垦藏,可用內(nèi)存=第一行的(buffers+cached+free)
第一行的Mem是對(duì)操作系統(tǒng)來(lái)講的梆暖,buffers/cache都是屬于被使用的,所以它認(rèn)為free只有1559072KB
我們一般理解的free輸出應(yīng)該從應(yīng)用程序的角度去理解掂骏,應(yīng)該管制第二行的free輸出轰驳,因?yàn)槟切゜uffers和cache是可能被重用的。