1.用法算法
vmstat [-a] [-n] [-S unit] [delay [ count]]優化
vmstat [-s] [-n] [-S unit]spa
vmstat [-m] [-n] [delay [ count]]進程
vmstat [-d] [-n] [delay [ count]]內存
vmstat [-p disk partition] [-n] [delay [ count]]ci
vmstat [-f]資源
vmstat [-V]it
-a:顯示活躍和非活躍內存io
-f:顯示從系統啓動至今的fork數量 。table
-m:顯示slabinfo
-n:只在開始時顯示一次各字段名稱。
-s:顯示內存相關統計信息及多種系統活動數量。
delay:刷新時間間隔。若是不指定,只顯示一條結果。
count:刷新次數。若是不指定刷新次數,但指定了刷新時間間隔,這時刷新次數爲無窮。
-d:顯示磁盤相關統計信息。
-p:顯示指定磁盤分區統計信息
-S:使用指定單位顯示。參數有 k 、K 、m 、M ,分別表明1000、102四、1000000、1048576字節(byte)。默認單位爲K(1024 bytes)
-V:顯示vmstat版本信息。
2.字段含義說明:
類別 |
項目 |
含義 |
說明 |
Procs(進程) |
r |
等待執行的任務數 |
展現了正在執行和等待cpu資源的任務個數。當這個值超過了cpu個數,就會出現cpu瓶頸。 |
B |
等待IO的進程數量 |
|
|
Memory(內存) |
swpd |
正在使用虛擬的內存大小,單位k |
|
free |
空閒內存大小 |
|
|
buff |
已用的buff大小,對塊設備的讀寫進行緩衝 |
|
|
cache |
已用的cache大小,文件系統的cache |
|
|
inact |
非活躍內存大小,即被標明可回收的內存,區別於free和active |
具體含義見:概念補充(當使用-a選項時顯示) |
|
active |
活躍的內存大小 |
具體含義見:概念補充(當使用-a選項時顯示) |
|
Swap |
si |
每秒從交換區寫入內存的大小(單位:kb/s) |
|
so |
每秒從內存寫到交換區的大小 |
|
|
IO |
bi |
每秒讀取的塊數(讀磁盤) |
如今的Linux版本塊的大小爲1024bytes |
bo |
每秒寫入的塊數(寫磁盤) |
|
|
system |
in |
每秒中斷數,包括時鐘中斷 |
這兩個值越大,會看到由內核消耗的cpu時間會越多 |
cs |
每秒上下文切換數 |
||
CPU(以百分比表示) |
Us |
用戶進程執行消耗cpu時間(user time) |
us的值比較高時,說明用戶進程消耗的cpu時間多,可是若是長期超過50%的使用,那麼咱們就該考慮優化程序算法或其餘措施了 |
Sy |
系統進程消耗cpu時間(system time) |
sys的值太高時,說明系統內核消耗的cpu資源多,這個不是良性的表現,咱們應該檢查緣由。 |
|
Id |
空閒時間(包括IO等待時間) |
|
|
wa |
等待IO時間 |
Wa太高時,說明io等待比較嚴重,這多是因爲磁盤大量隨機訪問形成的,也有多是磁盤的帶寬出現瓶頸。 |