使用vmstat標識linux系統的效能瓶頸

pingley發表於2012-03-07
使用vmstat標識linux系統的效能瓶頸
使用vmstat(virtual memory statistics)命令顯示實時的效能資訊,關於程式,記憶體,交換,磁碟I/O,CPU 使用率。
[oracle@zeng ~]$ vmstat    
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      0  24380 114400 594440   49    0     0    27  108  117  1  3 95  1  0
欄位解釋:
r:表示等待執行時間的程式數量。這些程式已經就緒了。
b:睡眠的程式數,如果該值總是大於0,表明系統的CPU處理能力不夠。
swpd:使用虛擬記憶體的大小(swap)KB。
free:總的閒置的記憶體大小KB。
buff:用作快取的記憶體大小KB。
cache:用作緩衝的記憶體大小KB。
so與si:分別表示的是每秒置換出記憶體,置換進記憶體的大小KB/s。
bi與bo:分別表示每秒從塊裝置讀進讀出的塊數blocks/s。
in:每秒的終端次數。
cs:每秒上下文卻換的次數。
us:使用者級程式碼佔用的CPU時間的百分比。
sy:系統級程式碼佔用的CPU時間的百分比。
id:閒置時間佔用的CPU時間的百分比。
wa:等待I/O的時間,如果該值很高表明儲存系統的超負荷的執行。
上面的輸出是系統上次啟動以來平均的統計資訊。但是你可以實現更加精細化的監控。
語法格式:vmstat 監控的間隔時間s   監控的次數
下面是按照每隔2秒,對系統監控,這樣的監控重複3次。
[oracle@zeng ~]$ 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
 1  0      0  21908 116288 595196   53    0     0    25  113  126  1  3 95  1  0
 0  0      0  21900 116288 595196   96    0     0     0  163  221  2  3 96  0  0
 1  0      0  21900 116296 595196   48    0     0     0  166  220  2  3 95  0  0
還可以把這些監控資訊重定向到檔案,儲存起來供歷史效能分析。
[oracle@zeng ~]$ vmstat 2 3 > per_out.txt
預設的輸出的記憶體大小是按KB計算的,可以使用-S m 來獲得更直觀的記憶體資訊統計資料。
[oracle@zeng ~]$ vmstat -S m 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      0     18    119    612    0    0     0    24  115  129  1  3 95  1  0
 0  0      0     18    119    612    0    0     0     0  159  218  2  3 95  0  0
 0  0      0     18    119    612    0    0     0     0  161  219  1  3 95  0  0
結合使用watch命令使用vmstat對系統進行動態的監控。
[oracle@zeng ~]$ watch -n 3 -d vmstat
-n 表示執行vmstat的時間週期。
-d 表示differences。使用高亮突出每次監控的不同值。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26110315/viewspace-717965/,如需轉載,請註明出處,否則將追究法律責任。

相關文章