A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
- -bash/zsg: mpstat: command not found
- #Debian
- apt-get install sysstat
- #Ubuntu
- apt-get install sysstat
- #Alpine
- apk add sysstat
- #Arch Linux
- pacman -S sysstat
- #Kali Linux
- apt-get install sysstat
- #CentOS
- yum install sysstat
- #Fedora
- dnf install sysstat
- #OS X
- brew install sysstat
- #Raspbian
- apt-get install sysstat
- #Docker
- docker run cmd.cat/mpstat mpstat
mpstat 命令主要用于多 CPU 环境下,它显示各个可用 CPU 的状态。这些信息存放在 /proc/stat
文件中。在多 CPUs 系统里,其不但能查看所有 CPU 的平均状况信息,而且能够查看特定 CPU 的信息。
- mpstat [ options ] [
[ ] ] Options are: [ -A ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU | ALL } ] [ -P { [,...] | ON | ALL } ]
- -P:指定CPU编号。
- 间隔时间:每次报告的间隔时间(秒);
- 次数: 显示报告的次数。
查看多核 CPU 当前运行的状况,每两秒更新一次,一共更新 5
次:
- [root@TestMaster ~]
- $ mpstat 2 5
- Linux 3.10.0-957.10.1.el7.x86_64 (TestMaster) 05/05/2019 _x86_64_ (4 CPU)
- 11:50:49 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
- 11:50:51 AM all 0.25 0.00 0.13 0.00 0.00 0.00 0.00 0.00 0.00 99.62
- 11:50:53 AM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
- 11:50:55 AM all 0.13 0.00 0.13 0.00 0.00 0.00 0.00 0.00 0.00 99.75
- 11:50:57 AM all 0.12 0.00 0.12 0.00 0.00 0.00 0.00 0.00 0.00 99.75
- 11:50:59 AM all 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.87
- Average: all 0.13 0.00 0.08 0.00 0.00 0.00 0.00 0.00 0.00 99.80
说明:当 mpstat 不带参数时,输出为从系统启动以来的平均值。
- %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
- 计算公式如下:
- 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 时间前的值。上表中的所有值可取到两位小数点。