★★★★☆架構
mpstat 是 Multiprocessor Statistics 的縮寫,是一種實時系統監控工具。mpstat 命令會輸出 CPU 的一些統計信息,這些信息存放在 /proc/stat 文件中。在多 CPU 的系統裏,此命令不但能用來查看全部 CPU 的平均情況信息,並且還能用來查看特定 CPU 的信息。dom
mpstat 命令的最大特色是:能夠查看多核心 CPU 中每一個計算核心的統計數據,而相似命令 vmstat 只能查看系統總體的 CPU 狀況。工具
mpstat [option] [delay [count]]
mpstat [選項] [時間間隔 [次數]]
mpstat [ -A ]
[ -I { SUM | CPU | SCPU | ALL } ]
[ -u ]
[ -P { cpu [0,1...] | ON | ALL } ]
[ -V ] [ interval [ count ] ]
說明:spa
1. 在 mpstat 命令及後面的選項裏,每一個元素之間都至少要有一個空格。
2. delay 表示兩次輸出之間的時間間隔。
3. count 表示按照 delay 指定的時間間隔統計的次數。code
-A :至關於使用-I ALL -u -P ALL -I {SUM | CPU | SCPU | ALL} :報告中斷的統計資料 SUM: mpstat命令報告每一個處理器的中斷總數。顯示的值以下: CPU: 處理器編號,all表示顯示統計信息的值爲全部處理器的平均值 intr/s:顯示每秒接收到的CPU或CPUs的中斷總數。 CPU: 顯示CPU每秒接收到的每一箇中斷的數量 SCPU: 顯示CPU每秒接收到的每個單獨的軟件中斷的數量,此選項僅適用於內核2.6.31和更高版本。 ALL: 至關於指定以上全部關鍵字
-P { cpu [0,1...] | ON | ALL } :指定處理器編號顯示其統計報告 cpu: cpu爲處理器編號,處理器0是所述第一個處理器。 ON: 每個正在使用的處理器的統計報告 ALL: 全部處理器的統計報告。
-u :報告的CPU利用率,顯示的值以下: CPU: 處理器編號,all表示顯示統計信息的值爲全部處理器的平均值
例如: 1. -P 0 :表示第一個 CPU 2. -P 1 :表示第二個 CPU 3. -P ALL :表示全部 CPU
[root@localhost :~]# mpstat # 若是省略 "時間間隔" 和 "次數"參數,則僅顯示一次報告後退出。 Linux 3.10.0-862.14.4.el7.x86_64 (localhost.localdomain) 2018年12月25日 _x86_64_ (2 CPU) 17時10分08秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 17時10分08秒 all 0.09 0.00 0.17 0.01 0.00 0.01 0.00 0.00 0.00 99.73 [root@localhost :~]#
[root@localhost :~]# mpstat 5 6 # 表示每5秒更新一次輸出信息,統計6次後中止輸出。 Linux 3.10.0-862.14.4.el7.x86_64 (localhost.localdomain) 2018年12月25日 _x86_64_ (2 CPU) 17時11分45秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 17時11分50秒 all 0.10 0.00 0.20 0.00 0.00 0.00 0.00 0.00 0.00 99.70 17時11分55秒 all 0.00 0.00 0.10 0.00 0.00 0.10 0.00 0.00 0.00 99.80 17時12分00秒 all 0.10 0.00 0.20 0.00 0.00 0.00 0.00 0.00 0.00 99.70 17時12分05秒 all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 17時12分10秒 all 0.10 0.00 0.20 0.00 0.00 0.00 0.00 0.00 0.00 99.70 17時12分15秒 all 0.00 0.00 0.10 0.00 0.00 0.00 0.00 0.00 0.00 99.90 平均時間: all 0.05 0.00 0.13 0.00 0.00 0.02 0.00 0.00 0.00 99.80 [root@localhost :~]#
一下是命令結果的詳細說明:blog
第一行: 第一列:Linux 3.10.0-862.14.4.el7.x86_64 (localhost.localdomain),系統內核版本及主機名稱 第二列:2018年12月25日, 表明當前時間:受系統 date 命令的格式等影響 第三列:CPU 架構及個數。 從第二行起: 第一列 :%usr: 用戶進程消耗的 CPU 時間百分比。 第二列 :%nice: 改變過優先級的進程佔用的 CPU 時間百分比。 第三列 :%sys: 系統( 內核 ) 進程消耗的 CPU 時間百分比。 第四列 :%iowait:IO 等待所佔用的 CPU 時間百分比。 第五列 :%irq: 硬中斷佔用的 CPU 時間百分比。 第六列 :%soft: 軟中斷佔用的 CPU 時間百分比。 第七列 :%steal: 虛擬機強制 CPU 等待的時間百分比。 第八列 :%guest: 虛擬機佔用 CPU 時間百分比。 第九列 :%idle: CPU 處在空閒狀態的時間百分比。