新聞中心
free命令可以顯示當(dāng)前系統(tǒng)未使用的和已使用的內(nèi)存數(shù)目,還可以顯示被內(nèi)核使用的內(nèi)存緩沖區(qū),下面為大家詳細(xì)講解一下 free命令使用實(shí)例。

顯示系統(tǒng)內(nèi)存
不帶任何選項(xiàng)運(yùn)行 free 命令會(huì)顯示系統(tǒng)內(nèi)存,包括空閑(free)、已用(used)、交換(swap)、緩沖(buffers)、緩存(cached)和交換(swap)的內(nèi)存總數(shù)。
# free
total used free shared buffers cached
Mem: 32869744 25434276 7435468 0 412032 23361716
-/+ buffers/cache: 1660528 31209216
Swap: 4095992 0 4095992
輸出有三行:
-
第一行:表明全部內(nèi)存、已用內(nèi)存、空閑內(nèi)存、共用內(nèi)存(主要被 tmpfs(/proc/meninfo 中的 Shmem 項(xiàng))使用)、用于緩沖的內(nèi)存以及緩存內(nèi)容大小。
-
-
全部:全部已安裝內(nèi)存(/proc/meminfo 中的 MemTotal 項(xiàng))
-
已用:已用內(nèi)存(全部計(jì)算 - 空間+緩沖+緩存)
-
空閑:未使用內(nèi)存(/proc/meminfo 中的 MemFree 項(xiàng))
-
共用:主要被 tmpfs 使用的內(nèi)存(/proc/meminfo 中的 Shmem 項(xiàng))
-
緩沖:被內(nèi)核緩沖使用的內(nèi)存(/proc/meminfo 中的 Buffers 項(xiàng))
-
緩存:被頁面緩存和 slab 使用的內(nèi)存(/proc/meminfo 中的 Cached 和 SSReclaimable 項(xiàng))
-
-
第二行:表明已用和空閑的緩沖/緩存
-
第三行:表明總交換內(nèi)存(/proc/meminfo 中的 SwapTotal 項(xiàng))、空閑內(nèi)存(/proc/meminfo 中的 SwapFree 項(xiàng))和已用交換內(nèi)存。
以 MB 為單位顯示系統(tǒng)內(nèi)存
默認(rèn)情況下, free 命令以 KB – Kilobytes 為單位輸出系統(tǒng)內(nèi)存,這對(duì)于絕大多數(shù)管理員來說會(huì)有一點(diǎn)迷糊(當(dāng)系統(tǒng)內(nèi)存很大的時(shí)候,我們中的許多人需要把輸出轉(zhuǎn)化為以 MB 為單位,從而才能夠理解內(nèi)存大?。?。為了避免這個(gè)迷惑,我們?cè)?free 命令后面加上 -m 選項(xiàng),就可以立即得到以 MB – Megabytes為單位的輸出。
# free -m
total used free shared buffers cached
Mem: 32099 24838 7261 0 402 22814
-/+ buffers/cache: 1621 30477
Swap: 3999 0 3999
如何從上面的輸出中檢查剩余多少空閑內(nèi)存?主要基于已用(used)和空閑(free)兩列。你可能在想,你只有很低的空閑內(nèi)存,因?yàn)樗挥?10%, 為什么?
-
全部實(shí)際可用內(nèi)存 = (全部內(nèi)存 - 第 2 行的已用內(nèi)存)
-
-
全部內(nèi)存 = 32099
-
實(shí)際已用內(nèi)存 = 1621 ( = 全部內(nèi)存 – 緩沖 – 緩存)
-
-
全部實(shí)際可用內(nèi)存 = 30477
如果你的 Linux 版本是最新的,那么有一個(gè)查看實(shí)際空閑內(nèi)存的選項(xiàng),叫做可用(available) ,對(duì)于舊的版本,請(qǐng)看顯示 -/+ buffers/cache 那一行對(duì)應(yīng)的空閑(free)一列。
如何從上面的輸出中檢查有多少實(shí)際已用內(nèi)存?基于已用(used)和空閑(free)一列。你可能想,你已經(jīng)使用了超過 95% 的內(nèi)存。
-
全部實(shí)際已用內(nèi)存 = 第一列已用 - (第一列緩沖 + 第一列緩存)
-
-
已用內(nèi)存 = 24838
-
已用緩沖 = 402
-
已用緩存 = 22814
-
-
全部實(shí)際已用內(nèi)存 = 1621
以 GB 為單位顯示內(nèi)存
默認(rèn)情況下, free 命令會(huì)以 KB – kilobytes 為單位顯示輸出,這對(duì)于大多數(shù)管理員來說會(huì)有一些迷惑,所以我們使用上面的選項(xiàng)來獲得以 MB – Megabytes 為單位的輸出。但是,當(dāng)服務(wù)器的內(nèi)存很大(超過 100 GB 或 200 GB)時(shí),上面的選項(xiàng)也會(huì)讓人很迷惑。所以,在這個(gè)時(shí)候,我們可以在 free 命令后面加上 -g 選項(xiàng),從而立即得到以 GB – Gigabytes 為單位的輸出。
# free -g
total used free shared buffers cached
Mem: 31 24 7 0 0 22
-/+ buffers/cache: 1 29
Swap: 3 0 3
顯示全部內(nèi)存行
默認(rèn)情況下, free 命令的輸出只有三行(內(nèi)存、緩沖/緩存以及交換)。為了統(tǒng)一以單獨(dú)一行顯示(全部(內(nèi)存+交換)、已用(內(nèi)存+(已用-緩沖/緩存)+交換)以及空閑(內(nèi)存+(已用-緩沖/緩存)+交換),在 ‘free’ 命令后面加上 -t 選項(xiàng)。
# free -t
total used free shared buffers cached
Mem: 32869744 25434276 7435468 0 412032 23361716
-/+ buffers/cache: 1660528 31209216
Swap: 4095992 0 4095992
Total: 36965736 27094804 42740676
按延遲運(yùn)行 free 命令以便更好的統(tǒng)計(jì)
默認(rèn)情況下, free 命令只會(huì)顯示一次統(tǒng)計(jì)輸出,這是不足夠進(jìn)一步排除故障的,所以,可以通過添加延遲(延遲是指在幾秒后再次更新)來定期統(tǒng)計(jì)內(nèi)存活動(dòng)。如果你想以兩秒的延遲運(yùn)行 free 命令,可以使用下面的命令(如果你想要更多的延遲,你可以按照你的意愿更改數(shù)值)。
下面的命令將會(huì)每 2 秒運(yùn)行一次直到你退出:
# free -s 2
total used free shared buffers cached
Mem: 32849392 25935844 6913548 188 182424 24632796
-/+ buffers/cache: 1120624 31728768
Swap: 20970492 0 20970492
total used free shared buffers cached
Mem: 32849392 25935288 6914104 188 182424 24632796
-/+ buffers/cache: 1120068 31729324
Swap: 20970492 0 20970492
total used free shared buffers cached
Mem: 32849392 25934968 6914424 188 182424 24632796
-/+ buffers/cache: 1119748 31729644
Swap: 20970492 0 20970492
按延遲和具體次數(shù)運(yùn)行 free 命令
另外,你可以按延遲和具體次數(shù)運(yùn)行 free 命令,一旦達(dá)到某個(gè)次數(shù),便自動(dòng)退出。
下面的命令將會(huì)每 2 秒運(yùn)行一次 free 命令,計(jì)數(shù) 5 次以后自動(dòng)退出。
# free -s 2 -c 5
total used free shared buffers cached
Mem: 32849392 25931052 6918340 188 182424 24632796
-/+ buffers/cache: 1115832 31733560
Swap: 20970492 0 20970492
total used free shared buffers cached
Mem: 32849392 25931192 6918200 188 182424 24632796
-/+ buffers/cache: 1115972 31733420
Swap: 20970492 0 20970492
total used free shared buffers cached
Mem: 32849392 25931348 6918044 188 182424 24632796
-/+ buffers/cache: 1116128 31733264
Swap: 20970492 0 20970492
total used free shared buffers cached
Mem: 32849392 25931316 6918076 188 182424 24632796
-/+ buffers/cache: 1116096 31733296
Swap: 20970492 0 20970492
total used free shared buffers cached
Mem: 32849392 25931308 6918084 188 182424 24632796
-/+ buffers/cache: 1116088 31733304
Swap: 20970492 0 20970492
取消緩沖區(qū)和緩存內(nèi)存輸出
默認(rèn)情況下,緩沖/緩存內(nèi)存是同時(shí)輸出的。為了取消緩沖和緩存內(nèi)存的輸出,可以在 free 命令后面加上 -w 選項(xiàng)。(該選項(xiàng)在版本 3.3.12 上可用)
注意比較上面有緩沖/緩存的輸出。
# free -wh
total used free shared buffers cache available
Mem: 2.0G 1.6G 137M 20M 8.1M 183M 163M
Swap: 2.0G 1.8G 249M
顯示最低和最高的內(nèi)存統(tǒng)計(jì)
默認(rèn)情況下, free 命令不會(huì)顯示最低和最高的內(nèi)存統(tǒng)計(jì)。為了顯示最低和最高的內(nèi)存統(tǒng)計(jì),在 free 命令后面加上 -l 選項(xiàng)。
# free -l
total used free shared buffers cached
Mem: 32849392 25931336 6918056 188 182424 24632808
Low: 32849392 25931336 6918056
High: 0 0 0
-/+ buffers/cache: 1116104 31733288
Swap: 20970492 0 20970492
閱讀關(guān)于 free 命令的更過信息
如果你想了解 free 命令的更多可用選項(xiàng),只需查看其 man 手冊(cè)。
# free --help
or
# man free
本文名稱:Linux下使用free命令查看內(nèi)存使用情況
分享URL:http://www.5511xx.com/article/dphoioo.html


咨詢
建站咨詢
