關于Linux 內存監控
Linux 內存監控是Linux內核所管理的最重要的資源之一。內存管理系統是操作系統中最為重要的部分,因為系統的物理內存總是少于系統所需要的內存數量。虛擬內存就是為了克服這個矛盾而采用的策略。系統的虛擬內存通過在各個進程之間共享內存而使系統看起來有多于實際內存的內存容量。
(1)Linux 內存監控實時監控內存使用情況
在命令行使用“Free”命令能夠監控內存使用情況
- #free
- total used freeshared bufferscached
- Mem:256024192284 63740 0 10676101004
- -/+ buffers/cache: 80604175420
- Swap: 522072 0522072
上面給出了一個256兆的RAM和512兆交換空間的系統情況。第三行輸出(Mem:)顯示物理內存。total列不顯示核心使用的物理內存(通常大約1MB)。used列顯示被使用的內存總額(第二行不計緩沖)。 free列顯示全部沒使用的內存。Shared列顯示多個進程共享的內存總額。Buffers列顯示磁盤緩存的當前大小。第五行(Swap:)對對換空間,顯示的信息類似上面。假如這行為全0,那么沒使用對換空間。在缺省的狀態下,free命令以千字節(也就是1024字節為單位)來顯示內存使用情況。能夠使用?h參數以字節為單位顯示內存使用情況,或能夠使用?m參數以兆字節為單位顯示內存使用情況。還能夠通過?s參數使用命令來不間斷地監控內存使用情況:
#free ?b ?s2
這個命令將會在終端窗口中連續不斷地報告內存的使用情況,每2秒鐘更新一次。
(2)Linux 內存監控組合watch? free命令用來實時監控內存使用情況:
- #watch -n 2 -d free
- Every 2.0s: freeFri Jul 6 06:06:12 2007
- total used freeshared bufferscached
- Mem:233356218616 14740 0 5560 64784
- -/+ buffers/cache:148272 85084
- Swap: 622584 6656615928
watch命令會每兩秒執行 free一次,執行前會清除屏幕,在同樣位置顯示數據。因為 watch命令不會卷動屏幕,所以適合出長時間的監測內存使用率。能夠使用 -n選項,控制執行的頻率;也能夠利用 -d選項,讓命令將每次不同的地方顯示出來。Watch命令會一直執行,直到您按下 [Ctrl]-[C] 為止。
【編輯推薦】