十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶(hù) + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂(yōu)售后,網(wǎng)站問(wèn)題一站解決
這篇文章將為大家詳細(xì)講解有關(guān)Linux系統(tǒng)下分析內(nèi)存使用情況的管理工具有哪些,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
有許多辦法可以獲得 Linux系統(tǒng) 上所安裝內(nèi)存的信息,并查看其中有多少內(nèi)存正在使用中。有的命令會(huì)展示大量的細(xì)節(jié),而有的命令則提供了簡(jiǎn)潔(但不一定容易理解)的結(jié)果。在這篇文章中將介紹一些更有用的工具,幫助你檢查內(nèi)存及其使用情況。 |
不過(guò),在進(jìn)一步討論之前,我們要先回顧一些基本知識(shí)。物理內(nèi)存和虛擬內(nèi)存是不一樣的,后者包括配置為交換區(qū)的磁盤(pán)空間。交換區(qū)可能包括為此用途預(yù)留的分區(qū),或者那些為添加到新的交換區(qū)而創(chuàng)建的文件——當(dāng)創(chuàng)建一個(gè)新的分區(qū)并不實(shí)際時(shí)。有些 Linux命令 提供了這兩方面的信息。
交換區(qū)通過(guò)提供磁盤(pán)空間來(lái)擴(kuò)展內(nèi)存,這些磁盤(pán)空間可用于存放那些物理內(nèi)存已滿(mǎn)時(shí)移動(dòng)到磁盤(pán)的非活動(dòng)頁(yè)。
在內(nèi)存管理中起到作用的一個(gè)文件是/proc/kcore,這個(gè)文件看起來(lái)像一個(gè)普通的(雖然非常大)文件,但是它根本不占用磁盤(pán)空間。就像/proc中的所有文件一樣,它是一個(gè)虛擬文件。
有趣的是,下面查詢(xún)的兩個(gè)系統(tǒng)沒(méi)有安裝相同數(shù)量的內(nèi)存,但是/proc/kcore
的大小在這兩個(gè)系統(tǒng)上是相同的。第一個(gè)系統(tǒng)安裝了4 GB內(nèi)存,第二個(gè)有6 GB。
該文件的大小表示可用虛擬內(nèi)存的數(shù)量(可能加上4K),這個(gè)解釋可能站不住腳。這個(gè)數(shù)字表明這些系統(tǒng)上的虛擬內(nèi)存是128 TB!這個(gè)數(shù)字代表64位系統(tǒng)能夠?qū)ぶ返膬?nèi)存數(shù)量,而不是系統(tǒng)上的可用內(nèi)存數(shù)量。通過(guò)以下方式進(jìn)行計(jì)算,再加上4 K,就可以推導(dǎo)出這個(gè)數(shù)字:
另一個(gè)更人性化的檢查內(nèi)存的命令是free
命令,它可以提供一個(gè)易于理解的內(nèi)存報(bào)告。
使用-g
選項(xiàng),free
以gb為單位報(bào)告這些值。
使用-t
選項(xiàng),free
顯示的值與沒(méi)有選項(xiàng)時(shí)顯示的值相同(不要混淆-t
和tb
),但是在輸出的底部添加了一行。
當(dāng)然,你也可以同時(shí)使用這兩個(gè)選項(xiàng)。
如果你希望得到“這個(gè)系統(tǒng)上安裝了多少RAM”的答案,那么你可能會(huì)對(duì)這個(gè)報(bào)告感到失望,這與上面示例中顯示的具有6GB RAM的系統(tǒng)相同。并不表示這個(gè)報(bào)告是錯(cuò)的,而是系統(tǒng)對(duì)它所擁有的內(nèi)存的看法。free命令還提供了每X秒(在下面的示例中為10秒)更新一次結(jié)果的選項(xiàng)。
使用-l, free命令可以提供高內(nèi)存使用量和低內(nèi)存使用量。
查看內(nèi)存的另一個(gè)辦法是/proc/meminfo文件。與/proc/kcore
類(lèi)似,這是一個(gè)虛擬文件,它提供了一個(gè)有用的報(bào)告,顯示安裝了多少內(nèi)存、空閑內(nèi)存和可用內(nèi)存。顯然,空閑和可用并不是一個(gè)意思。MemFree
代表未使用的RAM
,MemAvailable
是對(duì)啟動(dòng)新應(yīng)用程序可用內(nèi)存的估計(jì)。
如果只想查看總內(nèi)存,可以使用以下命令之一:
DirectMap
條目將內(nèi)存上的信息分解成類(lèi)別。
DirectMap4k
表示映射到標(biāo)準(zhǔn)4k頁(yè)面的內(nèi)存量,而DirectMap2M表示映射到2MB頁(yè)面的內(nèi)存量。
getconf
命令將提供的信息往往比較多。
使用如下所示的命令可以將輸出縮減為特定的內(nèi)容,你能夠獲得與上面的一些命令相同的信息。
該命令通過(guò)將輸出的第一行和最后一行中的值相乘來(lái)計(jì)算內(nèi)存,如下所示:
獨(dú)立地進(jìn)行計(jì)算,我們就可以看到這個(gè)值是如何推導(dǎo)出來(lái)的。
另一個(gè)輸出非常容易理解的命令是top
,top
輸出前5行中的數(shù)字顯示了內(nèi)存的使用情況。
最后這個(gè)命令將以簡(jiǎn)潔的方式回答“這個(gè)系統(tǒng)上安裝了多少RAM ?
根據(jù)您希望看到的詳細(xì)信息的多少, Linux 系統(tǒng)提供了許多選項(xiàng),可以查看系統(tǒng)上安裝了多少內(nèi)存,以及使用了多少內(nèi)存和有多少可用內(nèi)存。
關(guān)于Linux系統(tǒng)下分析內(nèi)存使用情況的管理工具有哪些就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。