您好,登錄后才能下訂單哦!
有許多辦法可以獲得Linux系統上所安裝內存的信息,并查看其中有多少內存正在使用中。有的命令會展示大量的細節,而有的命令則提供了簡潔(但不一定容易理解)的結果。在這篇文章中將介紹一些更有用的工具,幫助你檢查內存及其使用情況。
不過,在進一步討論之前,我們要先回顧一些基本知識。物理內存和虛擬內存是不一樣的,后者包括配置為交換區的磁盤空間。交換區可能包括為此用途預留的分區,或者那些為添加到新的交換區而創建的文件——當創建一個新的分區并不實際時。有些Linux命令提供了這兩方面的信息。
交換區通過提供磁盤空間來擴展內存,這些磁盤空間可用于存放那些物理內存已滿時移動到磁盤的非活動頁。
在內存管理中起到作用的一個文件是/proc/kcore,這個文件看起來像一個普通的(雖然非常大)文件,但是它根本不占用磁盤空間。就像/proc中的所有文件一樣,它是一個虛擬文件。
有趣的是,下面查詢的兩個系統沒有安裝相同數量的內存,但是/proc/kcore的大小在這兩個系統上是相同的。第一個系統安裝了4 GB內存,第二個有6 GB。
該文件的大小表示可用虛擬內存的數量(可能加上4K),這個解釋可能站不住腳。這個數字表明這些系統上的虛擬內存是128 TB!這個數字代表64位系統能夠尋址的內存數量,而不是系統上的可用內存數量。通過以下方式進行計算,再加上4 K,就可以推導出這個數字:
另一個更人性化的檢查內存的命令是free命令,它可以提供一個易于理解的內存報告。
使用-g選項,free以gb為單位報告這些值。
使用-t選項,free顯示的值與沒有選項時顯示的值相同(不要混淆-t和tb),但是在輸出的底部添加了一行。
當然,你也可以同時使用這兩個選項。
如果你希望得到“這個系統上安裝了多少RAM”的答案,那么你可能會對這個報告感到失望,這與上面示例中顯示的具有6GB RAM的系統相同。并不表示這個報告是錯的,而是系統對它所擁有的內存的看法。free命令還提供了每X秒(在下面的示例中為10秒)更新一次結果的選項。
使用-l, free命令可以提供高內存使用量和低內存使用量。
查看內存的另一個辦法是/proc/meminfo文件。與/proc/kcore類似,這是一個虛擬文件,它提供了一個有用的報告,顯示安裝了多少內存、空閑內存和可用內存。顯然,空閑和可用并不是一個意思。MemFree代表未使用的RAM,MemAvailable是對啟動新應用程序可用內存的估計。
如果只想查看總內存,可以使用以下命令之一:
DirectMap條目將內存上的信息分解成類別。
DirectMap4k表示映射到標準4k頁面的內存量,而DirectMap2M表示映射到2MB頁面的內存量。
getconf命令將提供的信息往往比較多。
使用如下所示的命令可以將輸出縮減為特定的內容,你能夠獲得與上面的一些命令相同的信息。
該命令通過將輸出的第一行和最后一行中的值相乘來計算內存,如下所示:
獨立地進行計算,我們就可以看到這個值是如何推導出來的。
另一個輸出非常容易理解的命令是top,top輸出前5行中的數字顯示了內存的使用情況。
最后這個命令將以簡潔的方式回答“這個系統上安裝了多少RAM ?
根據您希望看到的詳細信息的多少,Linux系統提供了許多選項,可以查看系統上安裝了多少內存,以及使用了多少內存和有多少可用內存。
原文作者: Sandra Henry-Stocker 來源:NetworkWorld
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。