這裡的CPU 使用率計算方法是 : 100% - idle %=目前CPU使用率
不管是top 或者是 mpstat 都是由 linux 的/proc/stat 檔案擷取,有興趣的朋友可以去google一下。
mpstat 使用前要安裝systat
sudo apt-get install sysstat
使用方法:
Usage: mpstat [ options ] [ <interval> [ <count> ] ] Options are: [ -A ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU | ALL } ] [ -P { <cpu> [,...] | ON | ALL } ]
mpstat -P ALL 可以顯示所有的CPU 的使用率。
zino@ubuntu:~$ mpstat -P ALL Linux 3.19.0-25-generic (ubuntu) 03/16/2016 _x86_64_ (2 CPU) 04:50:51 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idl 04:50:51 PM all 0.04 0.00 0.28 0.05 0.00 0.00 0.00 0.00 0.00 99.64 04:50:51 PM 0 0.04 0.00 0.28 0.04 0.00 0.00 0.00 0.00 0.00 99.64 04:50:51 PM 1 0.03 0.00 0.27 0.06 0.00 0.00 0.00 0.00 0.00 99.63
可選擇 每秒 顯示幾秒後計算
zino@ubuntu:~$ mpstat -P ALL 1 3 Linux 3.19.0-25-generic (ubuntu) 03/16/2016 _x86_64_ (2 CPU) 05:26:34 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 05:26:35 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 05:26:35 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 05:26:35 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 05:26:35 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 05:26:36 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 05:26:36 PM 0 0.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 99.00 05:26:36 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 05:26:36 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 05:26:37 PM all 0.00 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 99.50 05:26:37 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 05:26:37 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle Average: all 0.00 0.00 0.17 0.00 0.00 0.00 0.00 0.00 0.00 99.83 Average: 0 0.00 0.00 0.33 0.00 0.00 0.00 0.00 0.00 0.00 99.67 Average: 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
mpstat -P ALL | grep -v 'CPU\|all\|^$' |awk '{print $1" "$2 " CPU "$3" "100-$13"%"}'
zino@ubuntu:~$ mpstat -P ALL | grep -v 'CPU\|all\|^$' |awk '{print $1" "$2 " CPU "$3" "100-$13"%"}'
04:34:56 PM CPU 0 0.39%
04:34:56 PM CPU 1 0.37%
grep 空白行方法:https://blog.longwin.com.tw/2012/09/grep-filter-null-line-2012/