技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁(yè) > 教程 > 服務(wù)器類 >

Linux的free命令來(lái)顯示系統(tǒng)中空閑和已使用的內(nèi)存

來(lái)源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-09-22 06:29┆點(diǎn)擊:

  系統(tǒng)管理員必須維護(hù)他們服務(wù)器的健康運(yùn)行。其中一個(gè)重要的部分就是內(nèi)存。當(dāng)服務(wù)器內(nèi)存使用率過高時(shí),它會(huì)降低服務(wù)器的性能。Linux有一個(gè)稱為 free 的工具,來(lái)監(jiān)控內(nèi)存使用率。

  free 命令是什么

  free 命令是一個(gè)顯示系統(tǒng)中空閑和已用內(nèi)存大小的工具。free 命令的輸出和 top 命令相似。大多數(shù)Linux發(fā)行版已經(jīng)含有 free 命令。

  如何運(yùn)行 free

  想要運(yùn)行,只需在控制臺(tái)輸入free 即可。不帶選項(xiàng)運(yùn)行會(huì)顯示一個(gè)以KB為單位的默認(rèn)輸出。

  $ free

  從上面的截圖我們看到:

  內(nèi)存 (以KB計(jì))

  ■Total(全部) : 1026740

  ■Used(已用) : 843396

  ■Free(可用) : 183344

  ■Shared(共享) : 0

  ■Buffers(塊設(shè)備緩存區(qū)) : 52704

  ■Cached(文件緩存) : 376384

  buffers是指用來(lái)給塊設(shè)備做的緩沖大小,他只記錄文件系統(tǒng)的metadata以及 tracking in-flight pages.

  cached是用來(lái)給文件做緩沖。

  那就是說(shuō):buffers是用來(lái)存儲(chǔ),目錄里面有什么內(nèi)容,權(quán)限等等。而cached直接用來(lái)記憶我們打開的文件

  Swap (以KB計(jì))

  ■Total(全部) : 1045500

  ■Used(已用) : 3376

  ■Free(可用) : 1042124

  當(dāng)你看見 buffer/cache 的空閑空間低或者 swap 的空閑空間低,說(shuō)明內(nèi)存需要升級(jí)了。這意味這內(nèi)存利用率很高。請(qǐng)注意 shared(共享)內(nèi)存列應(yīng)該被忽略 ,因?yàn)樗呀?jīng)被廢棄了。

  以其它單元顯示內(nèi)存信息

  如我們先前提到的,默認(rèn) free 會(huì)以 KB 為單位顯示信息。free 同樣提供給我們 b (B), -k (KB), -m (MB), -g (GB) and –tera (TB)這些單位。要顯示我們想要的單位,只要選擇一個(gè)并在 free 后面跟上。下面一個(gè)是以 MB 為單位的輸出樣例。

  $ free -m

  這個(gè)技巧同樣適用于-b, -k, -g 以及 –tera 選項(xiàng)。

  以適于人類可讀方式顯示內(nèi)存信息

  free 同樣提供了-h選項(xiàng),這意味著適于人類可讀(譯注:系統(tǒng)上可能并不存在-h選項(xiàng),已被-m取代)。那么這與其它的選項(xiàng)有什么不同呢,如-m(MB)選項(xiàng)? 可見的最大不同是-h選項(xiàng)會(huì)在數(shù)字后面加上適于人類可讀的單位。讓我們看一個(gè)例子。

  $ free -h

  如我們一起看到的,在1,0數(shù)字后這里是G(GB)字母。當(dāng)數(shù)字并沒有達(dá)到GB時(shí),free足夠聰明來(lái)知道并在每個(gè)數(shù)字后面跟上合適的單位。后面的M - 數(shù)字929告訴我們它有929MB(譯注: 原文為929 number tell us its 969 Megabytes,這里應(yīng)該為輸入錯(cuò)誤)。

  間隔顯示 free

  作為一個(gè)狀態(tài)檢查工具,最好的統(tǒng)計(jì)內(nèi)存利用率的方法是使用延遲間隔。這么做的話,我們可以使用-s選項(xiàng)后面跟上我們想要間隔的N秒數(shù)。我們可以在后面合并幾個(gè)選項(xiàng)來(lái)使輸出滿足我們的需求。假如我們想要每3秒統(tǒng)計(jì)一次內(nèi)存利用率并且適于人類可讀,那么就像這樣做:

  $ free -hs 3

間隔3s顯示free

  顯示高低內(nèi)存利用率

  如果我們想要知道高低內(nèi)存統(tǒng)計(jì),我們可以使用-l選項(xiàng)。下面是一個(gè)例子。

  $ free -l

Free 的 低-高 統(tǒng)計(jì)

  顯示 Linux 全部?jī)?nèi)存

  如果我們需要每列的總計(jì)信息,我們可以在 free 命令后面跟上 -t 選項(xiàng)。這會(huì)在字底部額外加入一行顯示。

  $ free -t

free命令帶總計(jì)內(nèi)存

  總結(jié)

  除了vmstat以外,free 命令也是一個(gè)用于統(tǒng)計(jì)內(nèi)存利用率的簡(jiǎn)單統(tǒng)計(jì)工具。用這個(gè)你可以快速查看你的 Linux 內(nèi)存信息。free 命令使用 /proc/meminfo 作為基準(zhǔn)來(lái)顯示內(nèi)存利用率信息。如往常一樣,你可以在控制臺(tái)下輸入 man free來(lái)獲取更多關(guān)于 free 的信息。