首頁 > 軟體

Linux 監測命令(vmstat)

2020-06-16 17:58:29

Linux 監測命令(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版本資訊。

[root@www.linuxidc.com ~]# vmstat 2 8
 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 21928380 471140 9757520    0    0    0    6    9      12  0  0 100  0  0
  0  0      0 21928388 471140 9757524    0    0    2    60 1091 2099  0  0 100  0  0
  0  0      0 21928372 471140 9757524    0    0    0    58 1067 2085  0  0 100  0  0
  0  0      0 21928240 471140 9757524    0    0    0    60 1083 2104  0  0 100  0  0
  0  0      0 21928224 471144 9757524    0    0    0    64 1079 2100  0  0 100  0  0
  1  0      0 21928224 471144 9757528    0    0    2    52 1081 2092  0  0 100  0  0
  0  0      0 21921000 471144 9757528    0    0    6    80 1188 2162  0  0 99    0  0
  1  0      0 21920628 471144 9757548    0    0    0    74 1094 2110  0  0 100  0  0

Linux 記憶體監控vmstat命令輸出分成六個部分

(1)進程procs:
r:在執行佇列中等待的進程數 。當這個值超過了CPU數目,就會出現CPU瓶頸了。這個也和top的負載有關係,一般負載超過了3就比較高,超過了5就高,超過了10就不正常了,
 伺服器的狀態很危險。top的負載類似每秒的執行佇列。如果執行佇列過大,表示你的CPU很繁忙,一般會造成CPU使用率很高。
b:在等待io的進程數 。 當這個一值很高說明I/O等待嚴重。

(2)Linux 記憶體監控記憶體memoy:
swpd:現時可用的交換記憶體(單位KB)。
free:空閒的記憶體(單位KB)。
buff: 緩衝去中的記憶體數(單位:KB)。
cache:被用來做為快取記憶體的記憶體數(單位:KB)。

(3) Linux 記憶體監控swap交換頁面
si: 從磁碟交換到記憶體的交換頁數量,單位:KB/秒。
so: 從記憶體交換到磁碟的交換頁數量,單位:KB/秒。

(4)Linux 記憶體監控 io塊裝置:
bi: 傳送到塊裝置的塊數,單位:塊/秒。
bo: 從塊裝置接收到的塊數,單位:塊/秒。

(5)Linux 記憶體監控system系統:
in: 每秒的中斷數,包括時鐘中斷。
cs: 每秒的環境(上下文)轉換次數。

(6)Linux 記憶體監控cpu中央處理器:
cs:使用者進程使用的時間 。以百分比表示。  如果在使用大於40%,那麼我們就該考慮優化程
sy:系統進程使用的時間。 以百分比表示。  如果在使用超過40%,那麼我們就該考慮作業系統BUG或者被公交等等.....
id:中央處理器的空閒時間 如果長期超過50% 如果在使用超過40%,那麼我們就該考慮優化程式演算法或者新增CPU

 wa:IO等待消耗的CPU時間百分比 wa 的值高時,說明IO等待比較嚴重,這可能是由於磁碟大量作隨機存取造成,也有可能是磁碟的頻寬出現瓶頸(塊操作)。

 假如 r經常大於 4 ,且id經常小於40,表示中央處理器的負荷很重。 假如bi,bo 長期不等於0,表示實體記憶體容量太小

總結:用這個命令收集資訊,可以幫助我們分析出來伺服器是I/O問題,還是CPU問題,很管用命令。

Linux vmstat 命令詳解 http://www.linuxidc.com/Linux/2013-03/80983.htm

Linux下vmstat 顯示結果詳解 http://www.linuxidc.com/Linux/2013-01/77497.htm

Linux監控工具之vmstat 詳解 http://www.linuxidc.com/Linux/2012-09/71295.htm

Linux vmstat命令實戰詳解 http://www.linuxidc.com/Linux/2012-06/61771.htm

Linux vmstat監控系統負載 http://www.linuxidc.com/Linux/2012-01/51340.htm

vmstat命令詳解——Linux效能分析 http://www.linuxidc.com/Linux/2014-06/102884.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-06/118925.htm


IT145.com E-mail:sddin#qq.com