基礎命令學習目錄首頁html
原文連接:https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858775.html多線程
mpstat是Multiprocessor Statistics的縮寫,是實時系統監控工具。其報告與CPU的一些統計信息,這些信息存放在/proc/stat文件中。在多CPUs系統裏,其不但能查看全部CPU的平均情況信息,並且可以查看特定CPU的信息。mpstat最大的特色是:能夠查看多核心cpu中每一個計算核心的統計數據;而相似工具vmstat只能查看系統總體cpu狀況。工具
mpstat [-P {|ALL}] [internal [count]] 參數 解釋 -P {|ALL} 表示監控哪一個CPU, cpu在[0,cpu個數-1]中取值 internal 相鄰的兩次採樣的間隔時間、 count 採樣的次數,count只能和delay一塊兒使用 當沒有參數時,mpstat則顯示系統啓動之後全部信息的平均值。有interval時,第一行的信息自系統啓動以來的平均信息。從第二行開始,輸出爲前一個interval時間段的平均信息。
查看多核CPU核心的當前運行情況信息, 每2秒更新一次post
mpstat 219:45:12 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 19:45:14 all 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.96 19:45:16 all 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 99.97 19:45:18 all 0.00 0.07 0.07 0.00 0.00 0.00 0.00 0.00 99.87
若是要看每一個cpu核心的詳細當前運行情況信息,輸出以下:學習
mpstat -P ALL 2 19:43:58 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 19:43:59 all 0.00 0.00 0.04 0.00 0.00 0.00 0.00 0.00 99.96 19:43:59 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 19:43:59 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 ....... 19:43:59 13 0.99 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.01 19:43:59 14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 19:43:59 15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
字段的含義以下ui
%user 在internal時間段裏,用戶態的CPU時間(%),不包含nice值爲負進程 (usr/total)*100 %nice 在internal時間段裏,nice值爲負進程的CPU時間(%) (nice/total)*100 %sys 在internal時間段裏,內核時間(%) (system/total)*100 %iowait 在internal時間段裏,硬盤IO等待時間(%) (iowait/total)*100 %irq 在internal時間段裏,硬中斷時間(%) (irq/total)*100 %soft 在internal時間段裏,軟中斷時間(%) (softirq/total)*100 %idle 在internal時間段裏,CPU除去等待磁盤IO操做外的由於任何緣由而空閒的時間閒置時間(%) (idle/total)*100
計算公式以下this
total_cur=user+system+nice+idle+iowait+irq+softirq total_pre=pre_user+ pre_system+ pre_nice+ pre_idle+ pre_iowait+ pre_irq+ pre_softirq user=user_cur – user_pre total=total_cur-total_pre 其中_cur 表示當前值,_pre表示interval時間前的值。上表中的全部值可取到兩位小數點。