专注于快乐的事情

多CPU监控-mpstat

#mpstat

mpstat是MultiProcessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPUs系统里,不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。

这个命令显示每个CPU的时间使用百分比,你可以用它来检查CPU是否存在负载不均衡。单个过于忙碌的CPU可能意味着整个应用只有单个线程在工作。

如果没有安装
sudo apt install sysstat

参数

mpstat的语法如下:

mpstat [-P {|ALL}] [internal [count]]

参数的含义如下:

参数 解释

-P {|ALL} 表示监控哪个CPU, cpu在[0,cpu个数-1]中取值

internal 相邻的两次采样的间隔时间

count 采样的次数,count只能和delay一起使用

当没有参数时,mpstat则显示系统启动以后所有信息的平均值。有interval时,第一行的信息自系统启动以来的平均信息。

基本使用

mpstat -P ALL 1
输出如下

1
2
3
4
5
6
7
Linux 4.4.0-47-generic (ubuntu) 	12/14/2016 	_x86_64_	(3 CPU)

10:27:08 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
10:27:09 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
10:27:09 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
10:27:09 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
10:27:09 PM 2 0.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 99.00

参数 解释
CPU 处理器ID
user 用户态的CPU时间(%) ,不包含 nice值为负 进程 dusr/dtotal*100
nice nice值为负进程的CPU时间(%) dnice/dtotal*100
system 核心时间(%) dsystem/dtotal*100
iowait 硬盘IO等待时间(%) diowait/dtotal*100
irq 软中断时间(%) dirq/dtotal*100
soft 软中断时间(%) dsoftirq/dtotal*100
idle CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间 (%) didle/dtotal*100
intr/s 每秒CPU接收的中断的次数 dintr/dtotal*100

以上针对在internal时间段里,统计。

%iowait列,CPU等待I/O操作所花费的时间。这个值持续很高通常可能是I/O瓶颈所导致的。
通过这个参数可以比较直观的看出当前的I/O操作是否存在瓶颈

评论系统未开启,无法评论!