mpstat
顯示各個可用CPU的狀態
補充說明
mpstat命令 主要用於多CPU環境下,它顯示各個可用CPU的狀態信息。這些信息存放在/proc/stat
文件中。在多CPUs系統裏,其不但能查看所有CPU的平均狀況信息,而且能夠查看特定CPU的信息。
語法
1mpstat [選項] [<間隔時間> [<次數>]]
選項
1-P:指定CPU編號。
參數
- 間隔時間:每次報告的間隔時間(秒);
- 次數:顯示報告的次數。
表頭含義
- %user:表示處理用戶進程所使用CPU的百分比。
- %nice:表示在用戶級別處理經nice降級的程序所使用CPU的百分比。
- %system:表示內核進程使用的CPU百分比。
- %iowait:表示等待進行I/O所佔用CPU時間百分比。
- %irq:表示用於處理系統中斷的CPU百分比。
- %soft:表示用於處理軟件中斷的CPU百分比。
- %steal:在管理程序爲另一個虛擬處理器服務時,顯示虛擬的一個或多個CPU在非自願等待中花費的時間的百分比。
- %guest:表示一個或多個CPU在運行虛擬處理器時所花費的時間百分比。
- %gnice:表示一個或多個CPU在運行經nice降級後的虛擬處理器時所花費的時間百分比。
- %idle:CPU的空閒時間百分比。
實例
當mpstat不帶參數時,輸出爲從系統啓動以來的平均值。
1mpstat
2Linux 3.10.0-1160.71.1.el7.x86_64 (centos) 08/14/2022 _x86_64_ (4 CPU)
3
404:28:36 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
504:28:36 PM all 0.03 0.00 0.07 0.00 0.00 0.01 0.00 0.00 0.00 99.89
每2秒產生了全部處理器的統計數據報告:
下面的命令可以每2秒產生全部處理器的統計數據報告,一共產生三個interval的信息,最後再給出這三個interval的平均信息。默認時,輸出是按照CPU號排序。第一個行給出了2秒內所有處理器使用情況。接下來每行對應一個處理器使用情況。
1mpstat -P ALL 2 3
2Linux 3.10.0-1160.71.1.el7.x86_64 (centos) 08/15/2022 _x86_64_ (4 CPU)
3
409:32:43 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
509:32:45 AM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
609:32:45 AM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
709:32:45 AM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
809:32:45 AM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
909:32:45 AM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
10
1109:32:45 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
1209:32:47 AM all 0.00 0.00 0.12 0.00 0.00 0.12 0.00 0.00 0.00 99.75
1309:32:47 AM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
1409:32:47 AM 1 0.00 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 99.50
1509:32:47 AM 2 0.00 0.00 0.00 0.00 0.00 0.50 0.00 0.00 0.00 99.50
1609:32:47 AM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
17
1809:32:47 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
1909:32:49 AM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
2009:32:49 AM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
2109:32:49 AM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
2209:32:49 AM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
2309:32:49 AM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
24
25Average: CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
26Average: all 0.00 0.00 0.04 0.00 0.00 0.04 0.00 0.00 0.00 99.92
27Average: 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
28Average: 1 0.00 0.00 0.17 0.00 0.00 0.00 0.00 0.00 0.00 99.83
29Average: 2 0.00 0.00 0.00 0.00 0.00 0.17 0.00 0.00 0.00 99.83
30Average: 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
比較帶參數和不帶參數的mpstat的結果:
對localhost進行壓力測試
1ping -f localhost
然後在另一個終端運行mpstat命令
1mpstat
2Linux 3.10.0-1160.71.1.el7.x86_64 (centos) 08/15/2022 _x86_64_ (4 CPU)
3
409:34:20 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
509:34:20 AM all 0.03 0.00 0.07 0.00 0.00 0.02 0.00 0.00 0.00 99.88
上文說到:當mpstat不帶參數時,輸出爲從系統啓動以來的平均值,所以這看不出什麼變化。
1mpstat
2Linux 3.10.0-1160.71.1.el7.x86_64 (centos) 08/15/2022 _x86_64_ (4 CPU)
3
409:34:40 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
509:34:40 AM all 0.03 0.00 0.07 0.00 0.00 0.02 0.00 0.00 0.00 99.88
只有加上間隔時間才能顯示某一段時間CPU的使用情況
1mpstat 3 10
2Linux 3.10.0-1160.71.1.el7.x86_64 (centos) 08/15/2022 _x86_64_ (4 CPU)
3
409:36:21 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
509:36:24 AM all 1.81 0.00 7.03 0.00 0.00 6.37 0.00 0.00 0.00 84.79
609:36:27 AM all 1.82 0.00 6.88 0.00 0.00 5.83 0.00 0.00 0.00 85.47
709:36:30 AM all 1.95 0.00 5.86 0.00 0.00 4.98 0.00 0.00 0.00 87.21
809:36:33 AM all 3.95 0.00 6.50 0.00 0.00 5.46 0.00 0.00 0.00 84.09
909:36:36 AM all 4.05 0.00 6.21 0.00 0.00 5.64 0.00 0.00 0.00 84.10
1009:36:39 AM all 4.21 0.00 6.92 0.00 0.00 5.33 0.00 0.00 0.00 83.54
1109:36:42 AM all 3.72 0.00 7.17 0.00 0.00 6.05 0.00 0.00 0.00 83.05
1209:36:45 AM all 3.97 0.00 6.93 0.00 0.00 6.65 0.00 0.00 0.00 82.46
1309:36:48 AM all 4.30 0.00 9.55 0.00 0.00 9.55 0.00 0.00 0.00 76.59
1409:36:51 AM all 4.35 0.00 9.31 0.00 0.00 8.79 0.00 0.00 0.00 77.55
15Average: all 3.44 0.00 7.28 0.00 0.00 6.52 0.00 0.00 0.00 82.76
上兩表顯示出當要正確反映系統的情況,需要正確使用命令的參數。vmstat 和iostat 也需要注意這一問題。 來源:https://github.com/jaywcjlove/linux-command
最後修改於: Wednesday, January 31, 2024
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。