Linux中free命令有什么用-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“Linux中free命令有什么用”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Linux中free命令有什么用”這篇文章吧。

成都服務(wù)器托管,創(chuàng)新互聯(lián)提供包括服務(wù)器租用、雅安移動(dòng)機(jī)房、帶寬租用、云主機(jī)、機(jī)柜租用、主機(jī)租用托管、CDN網(wǎng)站加速、國(guó)際域名空間等業(yè)務(wù)的一體化完整服務(wù)。電話咨詢:18982081108

Linux 系統(tǒng)管理員面臨的一大挑戰(zhàn)是如何在沒(méi)有任何停機(jī)時(shí)間的情況下維護(hù)系統(tǒng)的良好運(yùn)行。管理內(nèi)存使用是 Linux 管理員又一個(gè)具有挑戰(zhàn)性的任務(wù)。free 是 Linux 中一個(gè)標(biāo)準(zhǔn)的并且被廣泛使用的命令,它被用來(lái)分析內(nèi)存統(tǒng)計(jì)(空閑和已用)。

Linux中free命令有什么用

我們都知道, IT 基礎(chǔ)設(shè)施方面的大多數(shù)服務(wù)器(包括世界頂級(jí)的超級(jí)計(jì)算機(jī))都運(yùn)行在 Linux 平臺(tái)上,因?yàn)楹推渌僮飨到y(tǒng)相比, Linux 更加靈活。有的操作系統(tǒng)對(duì)于一些微乎其微的改動(dòng)和補(bǔ)丁更新都需要重啟,但是 Linux 不需要,只有對(duì)于一些關(guān)鍵補(bǔ)丁的更新, Linux 才會(huì)需要重啟。

Linux 系統(tǒng)管理員面臨的一大挑戰(zhàn)是如何在沒(méi)有任何停機(jī)時(shí)間的情況下維護(hù)系統(tǒng)的良好運(yùn)行。管理內(nèi)存使用是 Linux 管理員又一個(gè)具有挑戰(zhàn)性的任務(wù)。free 是 Linux 中一個(gè)標(biāo)準(zhǔn)的并且被廣泛使用的命令,它被用來(lái)分析內(nèi)存統(tǒng)計(jì)(空閑和已用)。今天,我們將要討論 free 命令以及它的一些有用選項(xiàng)。

推薦文章:

smem – Linux 下基于進(jìn)程和用戶的內(nèi)存占用報(bào)告

vmstat:一個(gè)標(biāo)準(zhǔn)的報(bào)告虛擬內(nèi)存統(tǒng)計(jì)工具

Free 命令是什么

free 命令能夠顯示系統(tǒng)中物理上的空閑(free)和已用(used)內(nèi)存,還有交換(swap)內(nèi)存,同時(shí),也能顯示被內(nèi)核使用的緩沖(buffers)和緩存(caches)。這些信息是通過(guò)解析文件 /proc/meninfo 而收集到的。

顯示系統(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

輸出有三行:

第一行:表明全部?jī)?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))

緩存:被頁(yè)面緩存和 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ù)管理員來(lái)說(shuō)會(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)存 = (全部?jī)?nèi)存 - 第 2 行的已用內(nèi)存)

全部?jī)?nèi)存 = 32099

實(shí)際已用內(nèi)存 = 1621 ( = 全部?jī)?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)使用了超過(guò) 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ù)管理員來(lái)說(shuō)會(huì)有一些迷惑,所以我們使用上面的選項(xiàng)來(lái)獲得以 MB - Megabytes 為單位的輸出。但是,當(dāng)服務(wù)器的內(nèi)存很大(超過(guò) 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

顯示全部?jī)?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)一步排除故障的,所以,可以通過(guò)添加延遲(延遲是指在幾秒后再次更新)來(lái)定期統(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

人類可讀格式

為了以人類可讀的格式輸出,在 free 命令的后面加上 -h 選項(xiàng),和其他選項(xiàng)比如 -m 和 -g 相比,這將會(huì)更人性化輸出(自動(dòng)使用 GB 和 MB 單位)。

# free -h 
              total        used        free      shared  buff/cache   available 
Mem:           2.0G        1.6G        138M         20M        188M        161M 
Swap:          2.0G        1.8G        249M

取消緩沖區(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 命令的更過(guò)信息

如果你想了解 free 命令的更多可用選項(xiàng),只需查看其 man 手冊(cè)。

# free --help 
or 
# man free

以上是“Linux中free命令有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前標(biāo)題:Linux中free命令有什么用-創(chuàng)新互聯(lián)
文章出自:http://muchs.cn/article30/dpidpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)標(biāo)簽優(yōu)化、網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)