1. 程式人生 > >每天一個 linux命令(32):vmstat命令

每天一個 linux命令(32):vmstat命令

功能說明

vmstat 是Virtual Meomory Statistics(虛擬記憶體統計)的縮寫,可對作業系統的虛擬記憶體、程序、CPU活動進行監控。他是對系統的整體 情況進行統計,不足之處是無法對某個程序進行深入分析。vmstat 工具提供了一種低開銷的系統性能觀察方式。因為 vmstat 本身就是低開銷工具,在非常高負荷的伺服器上,你需要檢視並監控系統的健康情況,在控制視窗還是能夠使用vmstat 輸出結果。

語法

vmstat [-a] [-n] [-S unit] [delay [ count]]

vmstat [-s] [-n] [-S unit]

vmstat [-m] [-n] [delay [ count]]

vmstat [-d] [-n] [delay [ count]]

vmstat [-p disk partition] [-n] [delay [ count]]

vmstat [-f]

vmstat [-V]

引數

-a:顯示活躍和非活躍記憶體

-f:顯示從系統啟動至今的fork數量 。

-m:顯示slabinfo

-n:只在開始時顯示一次各欄位名稱。

-s:顯示記憶體相關統計資訊及多種系統活動數量。

delay:重新整理時間間隔。如果不指定,只顯示一條結果。

count:重新整理次數。如果不指定重新整理次數,但指定了重新整理時間間隔,這時重新整理次數為無窮。

-d:顯示磁碟相關統計資訊。

-p:顯示指定磁碟分割槽統計資訊

-S:使用指定單位顯示。引數有 k 、K 、m 、M ,分別代表1000、1024、1000000、1048576位元組(byte)。預設單位為K(1024 bytes)

-V:顯示vmstat版本資訊。

說明:

欄位說明:

Procs(程序):

r: 執行佇列中程序數量

b: 等待IO的程序數量

Memory(記憶體):

swpd: 使用虛擬記憶體大小

free: 可用記憶體大小

buff: 用作緩衝的記憶體大小

cache: 用作快取的記憶體大小

Swap:

si: 每秒從交換區寫到記憶體的大小

so: 每秒寫入交換區的記憶體大小

IO:(現在的Linux版本塊的大小為1024bytes)

bi: 每秒讀取的塊數

bo: 每秒寫入的塊數

系統:

in: 每秒中斷數,包括時鐘中斷。

cs: 每秒上下文切換數。

CPU(以百分比表示):

us: 使用者程序執行時間(user time)

sy: 系統程序執行時間(system time)

id: 空閒時間(包括IO等待時間),中央處理器的空閒時間 。以百分比表示。

wa: 等待IO時間

備註:

如果 r經常大於 4 ,且id經常少於40,表示cpu的負荷很重。

如果pi,po 長期不等於0,表示記憶體不足。

如果disk 經常不等於0, 且 在 b中的佇列 大於3, 表示 io效能不好。

Linux在具有高穩定性、可靠性的同時,具有很好的可伸縮性和擴充套件性,能夠針對不同的應用和硬體環境調 整,優化出滿足當前應用需要的最佳效能。因此企業在維護Linux系統、進行系統調優時,瞭解系統性能分析工具是至關重要的。

例項:顯示虛擬記憶體使用情況,表示在2秒時間內進行10次取樣

例項:顯示活躍非活躍的記憶體,

說明:

使用-a選項顯示活躍和非活躍記憶體時,所顯示的內容除增加inact和active外,其他顯示內容與例子1相同。

欄位說明:

Memory(記憶體):

inact: 非活躍記憶體大小(當使用-a選項時顯示)

active: 活躍的記憶體大小(當使用-a選項時顯示)

例項:檢視記憶體使用的詳細資訊

說明:

這些資訊的分別來自於/proc/meminfo,/proc/stat和/proc/vmstat

例項:檢視磁碟的讀/寫 

說明:

這些資訊主要來自於/proc/diskstats.

merged:表示一次來自於合併的寫/讀請求,一般系統會把多個連線/鄰近的讀/寫請求合併到一起來操作