Linux下vmstat輸出釋疑(轉)

Vmstat
procs ———–memory———- —swap– —–io—- –system– —-cpu—-
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 100152 2436 97200 289740 0 1 34 45 99 33 0 0 99 0

procs
r 列表示運行和等待cpu時間片的進程數,如果長期大於1,說明cpu不足,需要增加cpu。
b 列表示在等待資源的進程數,比如正在等待I/O、或者內存交換等。
cpu 表示cpu的使用狀態
us 列顯示了用戶方式下所花費 CPU 時間的百分比。us的值比較高時,說明用戶進程消耗的cpu時間多,但是如果長期大於50%,需要考慮優化用戶的程序。
sy 列顯示了內核進程所花費的cpu時間的百分比。這裏us + sy的參考值爲80%,如果us+sy 大於 80%說明可能存在CPU不足。
wa 列顯示了IO等待所佔用的CPU時間的百分比。這裏wa的參考值爲30%,如果wa超過30%,說明IO等待嚴重,這可能是磁盤大量隨機訪問造成的,也可能磁盤或者磁盤訪問控制器的帶寬瓶頸造成的(主要是塊操作)。 
id 列顯示了cpu處在空閒狀態的時間百分比 
system 顯示採集間隔內發生的中斷數
in 列表示在某一時間間隔中觀測到的每秒設備中斷數。
cs列表示每秒產生的上下文切換次數,如當 cs 比磁盤 I/O 和網絡信息包速率高得多,都應進行進一步調查。
memory
swpd 切換到內存交換區的內存數量(k表示)。如果swpd的值不爲0,或者比較大,比如超過了100m,只要si、so的值長期爲0,系統性能還是正常 
free 當前的空閒頁面列表中內存數量(k表示) 
buff 作爲buffer cache的內存數量,一般對塊設備的讀寫才需要緩衝。 
cache: 作爲page cache的內存數量,一般作爲文件系統的cache,如果cache較大,說明用到cache的文件較多,如果此時IO中bi比較小,說明文件系統效率比較好。 
swap
si 由內存進入內存交換區數量。
so由內存交換區進入內存數量。 
IO
bi 從塊設備讀入數據的總量(讀磁盤)(每秒kb)。
bo 塊設備寫入數據的總量(寫磁盤)(每秒kb)
這裏我們設置的bi+bo參考值爲1000,如果超過1000,而且wa值較大應該考慮均衡磁盤負載,可以結合iostat輸出來分析。

 vmstat命令輸出分成六個部分:

  (1)進程procs:

  r:在運行隊列中等待的進程數 。

  b:在等待io的進程數 。

  (2)內存memoy:

  swpd:現時可用的交換內存(單位KB)。

  free:空閒的內存(單位KB)。

  buff: 緩衝去中的內存數(單位:KB)。

  cache:被用來做爲高速緩存的內存數(單位:KB)。

  (3) swap交換頁面

  si: 從磁盤交換到內存的交換頁數量,單位:KB/秒。

  so: 從內存交換到磁盤的交換頁數量,單位:KB/秒。

  (4) io塊設備:

  bi: 發送到塊設備的塊數,單位:塊/秒。

  bo: 從塊設備接收到的塊數,單位:塊/秒。

  (5)system系統:

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

  cs: 每秒的環境(上下文)切換次數。

  (6)cpu中央處理器:

  cs:用戶進程使用的時間 。以百分比表示。

  sy:系統進程使用的時間。 以百分比表示。

  id:中央處理器的空閒時間 。以百分比表示。

  如果 r經常大於 4 ,且id經常小於40,表示中央處理器的負荷很重。 如果bi,bo 長期不等於0,表示物理內存容量太小。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章