vmstat命令——監控給定時間間隔的伺服器的狀態值

Jelly_lyj發表於2017-03-18

vmstat n m 時間間隔為n秒,採集m組資料
vmstat n     時間間隔為n秒

# vmstat 2 3
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0    252  99272 148444 614268    0    0     0     9    4    2  0  0 99  0  0
 0  0    252  99264 148444 614288    0    0     0     0   61  101  0  0 100 0  0
 0  0    252  98780 148444 614288    0    0     0     0   89  195  1  1 97  0  0

===proces===
r:表示執行佇列(就是說多少個程式真的分配到CPU)
b:表示阻塞的程式
*分析
(1)r:當這個值超過了CPU數目,就會出現CPU瓶頸;如果執行佇列過大,表示你的CPU很繁忙,一般會造成CPU使用率很高


===memory記憶體使用率===
swpd:虛擬記憶體已使用的大小
free:空閒的實體記憶體大小
buff:目錄佔用的快取大小
cache:檔案佔用的快取大小
*分析
(1)swpd:這個值如果大於0,表示你的機器實體記憶體不足了,如果不是程式記憶體洩露的原因,那麼你該升級記憶體了或者把耗記憶體的任務遷移到其他機器

===swap虛擬記憶體交換情況===
si:每秒從磁碟讀入虛擬記憶體的大小
so:每秒虛擬記憶體寫入磁碟的大小 
*分析
(1)si:如果這個值大於0,表示實體記憶體不夠用或者記憶體洩露了,要查詢耗記憶體程式解決掉
(2)so:如果這個值大於0,同上

 

===IO讀寫情況===
bi:塊裝置每秒接收的塊數量,這裡的塊裝置是指系統上所有的磁碟和其他塊裝置,預設塊大小是1024byte
in:每秒CPU的中斷次數,包括時間中斷
cs:每秒上下文切換次數

 

===cpu使用率===
us:使用者cpu時間
sy:系統cpu時間
id:空閒cpu時間
wa:等待io的cpu時間

相關文章