溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

發(fā)布時間:2020-08-10 15:13:56 來源:ITPUB博客 閱讀:167 作者:云編 欄目:建站服務(wù)器

   有許多辦法可以獲得Linux系統(tǒng)上所安裝內(nèi)存的信息,并查看其中有多少內(nèi)存正在使用中。有的命令會展示大量的細(xì)節(jié),而有的命令則提供了簡潔(但不一定容易理解)的結(jié)果。在這篇文章中將介紹一些更有用的工具,幫助你檢查內(nèi)存及其使用情況。

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  不過,在進(jìn)一步討論之前,我們要先回顧一些基本知識。物理內(nèi)存和虛擬內(nèi)存是不一樣的,后者包括配置為交換區(qū)的磁盤空間。交換區(qū)可能包括為此用途預(yù)留的分區(qū),或者那些為添加到新的交換區(qū)而創(chuàng)建的文件——當(dāng)創(chuàng)建一個新的分區(qū)并不實際時。有些Linux命令提供了這兩方面的信息。

  交換區(qū)通過提供磁盤空間來擴(kuò)展內(nèi)存,這些磁盤空間可用于存放那些物理內(nèi)存已滿時移動到磁盤的非活動頁。

  在內(nèi)存管理中起到作用的一個文件是/proc/kcore,這個文件看起來像一個普通的(雖然非常大)文件,但是它根本不占用磁盤空間。就像/proc中的所有文件一樣,它是一個虛擬文件。

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  有趣的是,下面查詢的兩個系統(tǒng)沒有安裝相同數(shù)量的內(nèi)存,但是/proc/kcore的大小在這兩個系統(tǒng)上是相同的。第一個系統(tǒng)安裝了4 GB內(nèi)存,第二個有6 GB。

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  該文件的大小表示可用虛擬內(nèi)存的數(shù)量(可能加上4K),這個解釋可能站不住腳。這個數(shù)字表明這些系統(tǒng)上的虛擬內(nèi)存是128 TB!這個數(shù)字代表64位系統(tǒng)能夠?qū)ぶ返膬?nèi)存數(shù)量,而不是系統(tǒng)上的可用內(nèi)存數(shù)量。通過以下方式進(jìn)行計算,再加上4 K,就可以推導(dǎo)出這個數(shù)字:

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  另一個更人性化的檢查內(nèi)存的命令是free命令,它可以提供一個易于理解的內(nèi)存報告。

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  使用-g選項,free以gb為單位報告這些值。

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  使用-t選項,free顯示的值與沒有選項時顯示的值相同(不要混淆-t和tb),但是在輸出的底部添加了一行。

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  當(dāng)然,你也可以同時使用這兩個選項。

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  如果你希望得到“這個系統(tǒng)上安裝了多少RAM”的答案,那么你可能會對這個報告感到失望,這與上面示例中顯示的具有6GB RAM的系統(tǒng)相同。并不表示這個報告是錯的,而是系統(tǒng)對它所擁有的內(nèi)存的看法。free命令還提供了每X秒(在下面的示例中為10秒)更新一次結(jié)果的選項。

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  使用-l, free命令可以提供高內(nèi)存使用量和低內(nèi)存使用量。

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  查看內(nèi)存的另一個辦法是/proc/meminfo文件。與/proc/kcore類似,這是一個虛擬文件,它提供了一個有用的報告,顯示安裝了多少內(nèi)存、空閑內(nèi)存和可用內(nèi)存。顯然,空閑和可用并不是一個意思。MemFree代表未使用的RAM,MemAvailable是對啟動新應(yīng)用程序可用內(nèi)存的估計。

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  如果只想查看總內(nèi)存,可以使用以下命令之一:

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  DirectMap條目將內(nèi)存上的信息分解成類別。

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  DirectMap4k表示映射到標(biāo)準(zhǔn)4k頁面的內(nèi)存量,而DirectMap2M表示映射到2MB頁面的內(nèi)存量。

  getconf命令將提供的信息往往比較多。

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  使用如下所示的命令可以將輸出縮減為特定的內(nèi)容,你能夠獲得與上面的一些命令相同的信息。

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  該命令通過將輸出的第一行和最后一行中的值相乘來計算內(nèi)存,如下所示:

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  獨(dú)立地進(jìn)行計算,我們就可以看到這個值是如何推導(dǎo)出來的。

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  另一個輸出非常容易理解的命令是top,top輸出前5行中的數(shù)字顯示了內(nèi)存的使用情況。

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  最后這個命令將以簡潔的方式回答“這個系統(tǒng)上安裝了多少RAM ?

查詢Linux系統(tǒng)內(nèi)存總得不到想要的信息?這有更好的命令

  根據(jù)您希望看到的詳細(xì)信息的多少,Linux系統(tǒng)提供了許多選項,可以查看系統(tǒng)上安裝了多少內(nèi)存,以及使用了多少內(nèi)存和有多少可用內(nèi)存。

  原文作者: Sandra Henry-Stocker 來源:NetworkWorld


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI