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 ?
根據您希望看到的詳細資訊的多少, 系統提供了許多選項,可以檢視系統上安裝了多少記憶體,以及使用了多少記憶體和有多少可用記憶體。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2640340/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux下檢視記憶體使用情況Linux記憶體
- Linux效能優化:記憶體使用情況分析Linux優化記憶體
- 在Linux中,如何檢查系統的CPU和記憶體使用情況?Linux記憶體
- 檢視LINUX程式記憶體佔用情況Linux記憶體
- 檢視 Linux 系統中程式和使用者的記憶體使用情況Linux記憶體
- Linux技術——linux下檢視記憶體和CPU的使用情況Linux記憶體
- 總結Linux下檢視記憶體使用情況的多種方法Linux記憶體
- Linux檢視CPU和記憶體使用情況Linux記憶體
- Redis 記憶體突增時,如何定量分析其記憶體使用情況Redis記憶體
- 如何觀察程式的記憶體佔用情況記憶體
- Linux 檢視記憶體使用情況的幾種方法Linux記憶體
- SOLARISE檢視記憶體使用情況記憶體
- JRockit jstat 檢視系統記憶體資源使用情況JS記憶體
- obukhov/redis-inventory: 分析redis記憶體使用情況的CLI工具Redis記憶體
- Android最佳效能實踐(2):分析記憶體的使用情況Android記憶體
- 檢查 Linux 中記憶體使用情況的 8 條命令Linux記憶體
- Linux檢視伺服器記憶體使用情況的命令Linux伺服器記憶體
- 用 Bash 指令碼監控 Linux 上的記憶體使用情況指令碼Linux記憶體
- Mongodb記憶體管理和使用情況情況查詢MongoDB記憶體
- 檢測Linux記憶體使用情況的free命令的10個例子Linux記憶體
- Linux檢視磁碟目錄記憶體空間使用情況Linux記憶體
- Linux核心記憶體管子系統分析Linux記憶體
- 使用 vmstat 命令確定記憶體使用情況記憶體
- 使用 top 命令瞭解 Fedora 的記憶體使用情況記憶體
- linux 檢視某個程序和服務記憶體佔用情況命令Linux記憶體
- 如何檢查 Android 應用的記憶體使用情況Android記憶體
- Linux如何通過命令檢視伺服器的記憶體條使用情況Linux伺服器記憶體
- 使用show engine innodb status 檢視記憶體使用情況記憶體
- Linux中檢視系統資源使用情況Linux
- Sieve—Android 記憶體分析系統Android記憶體
- 透過CPU記憶體佔用情況,找出Oracle的session對應的program記憶體OracleSession
- 在Linux中,如何檢視系統的磁碟使用情況?Linux
- java程式碼實現檢視Tomcat記憶體使用情況JavaTomcat記憶體
- PowerShell 指令碼來監控 CPU、記憶體和磁碟使用情況:指令碼記憶體
- 利用Bash指令碼監控Linux伺服器的記憶體使用情況的相關資料指令碼Linux伺服器記憶體
- Linux記憶體子系統——Locking Pages(記憶體鎖定)Linux記憶體
- 如何檢視linux系統中空閒記憶體/實體記憶體使用/剩餘記憶體Linux記憶體
- Linux AS 使用記憶體檔案系統Linux記憶體