幫助你檢查Linux系統內存及其使用情況的命令
有許多辦法可以獲得Linux系統上所安裝內存的信息,並查看其中有多少內存正在使用中。有的命令會展示大量的細節,而有的命令則提供了簡潔(但不一定容易理解)的結果。在這篇文章中將介紹一些更有用的工具,幫助你檢查內存及其使用情況。
不過,在進一步討論之前,我們要先回顧一些基本知識。物理內存和虛擬內存是不一樣的,後者包括配置為交換區的磁碟空間。交換區可能包括為此用途預留的分區,或者那些為添加到新的交換區而創建的文件——當創建一個新的分區並不實際時。有些Linux命令提供了這兩方面的信息。
交換區通過提供磁碟空間來擴展內存,這些磁碟空間可用於存放那些物理內存已滿時移動到磁碟的非活動頁。
在內存管理中起到作用的一個文件是/proc/kcore,這個文件看起來像一個普通的(雖然非常大)文件,但是它根本不佔用磁碟空間。就像/proc中的所有文件一樣,它是一個虛擬文件。
有趣的是,下面查詢的兩個系統沒有安裝相同數量的內存,但是的大小在這兩個系統上是相同的。第一個系統安裝了4 GB內存,第二個有6 GB。
該文件的大小表示可用虛擬內存的數量(可能加上4K),這個解釋可能站不住腳。這個數字表明這些系統上的虛擬內存是128 TB!這個數字代表64位系統能夠定址的內存數量,而不是系統上的可用內存數量。通過以下方式進行計算,再加上4 K,就可以推導出這個數字:
另一個更人性化的檢查內存的命令是命令,它可以提供一個易於理解的內存報告。
使用選項,以gb為單位報告這些值。
使用選項,顯示的值與沒有選項時顯示的值相同(不要混淆和),但是在輸出的底部添加了一行。
當然,你也可以同時使用這兩個選項。
如果你希望得到「這個系統上安裝了多少RAM」的答案,那麼你可能會對這個報告感到失望,這與上面示例中顯示的具有6GB RAM的系統相同。並不表示這個報告是錯的,而是系統對它所擁有的內存的看法。free命令還提供了每X秒(在下面的示例中為10秒)更新一次結果的選項。
使用-l, free命令可以提供高內存使用量和低內存使用量。
查看內存的另一個辦法是類似,這是一個虛擬文件,它提供了一個有用的報告,顯示安裝了多少內存、空閑內存和可用內存。顯然,空閑和可用並不是一個意思。代表未使用的,是對啟動新應用程序可用內存的估計。
如果只想查看總內存,可以使用以下命令之一:
條目將內存上的信息分解成類別。
表示映射到標準4k頁面的內存量,而DirectMap2M表示映射到2MB頁面的內存量。
命令將提供的信息往往比較多。
使用如下所示的命令可以將輸出縮減為特定的內容,你能夠獲得與上面的一些命令相同的信息。
該命令通過將輸出的第一行和最後一行中的值相乘來計算內存,如下所示:
獨立地進行計算,我們就可以看到這個值是如何推導出來的。
另一個輸出非常容易理解的命令是,輸出前5行中的數字顯示了內存的使用情況。
最後這個命令將以簡潔的方式回答「這個系統上安裝了多少RAM ?
根據您希望看到的詳細信息的多少,Linux系統提供了許多選項,可以查看系統上安裝了多少內存,以及使用了多少內存和有多少可用內存。
TAG:Linux資訊速推 |