0
点赞
收藏
分享

微信扫一扫

Linux 性能优化 工具mpstat 多核CPU性能分析工具


Linux 性能优化 工具mpstat 多核CPU性能分析工具_软件中断

mpstat

mpstat是Multi processor Statistics的缩写,是实时监控工具,报告与cpu的一些统计信息这些信息都存在/proc/stat文件中,在多CPU系统里,其不但能查看所有的CPU的平均状况的信息,而且能够有查看特定的cpu信息,mpstat最大的特点是:可以查看多核心的cpu中每个计算核心的统计数据,而且类似工具vmstat只能查看系统的整体cpu情况。(mpstat是常用的多核CPU性能分析工具,用来实时查看CPU的性能指标以及所有CPU的平均指标)

#要使用sysstat需要安装该包
yum install sysstat -y

 

cpu状态

“-u”选项可以显示的cpu状态有

选项

说明

CPU

处理器号码。关键字ALL表示统计数据是以所有处理器之间的平均值计算的。

%usr

显示在用户级别(应用程序)执行时出现的CPU利用率百分比。

%nice

以良好的优先级在用户级别执行时显示CPU利用率的百分比。

%sys

显示在系统级(内核)执行时CPU利用率的百分比。请注意,这不包括用于服务硬件和软件中断的时间。

%iowait

显示CPU或CPU空闲的时间百分比,在此期间,系统有未执行的磁盘I/O请求。

%irq

显示cpu或cpu用于服务硬件中断的时间百分比。

%soft

显示CPU或CPU用于服务软件中断的时间百分比。

%steal

显示虚拟机管理程序为另一个虚拟处理器服务时,虚拟CPU或CPU在非自愿等待中花费的时间百分比。

%guest

显示CPU或cpu运行虚拟处理器所花费的时间百分比。

%idle

显示CPU或CPU空闲的时间百分比,并且系统没有未执行的磁盘I/O请求。

 

 mpstat -P ALL 1

先查看你的CPU的个数

[root@localhost ~]# grep "model name"  /proc/cpuinfo | wc -l
32

查看每个CPU的负载 

[root@localhost ~]#mpstat -P ALL
Linux 3.13.0-49-generic (titanclusters-xxxxx) 07/14/2020 _x86_64_ (32 CPU)

07:38:49 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
07:38:50 PM all 98.47 0.00 0.75 0.00 0.00 0.00 0.00 0.00 0.00 0.78
07:38:50 PM 0 96.04 0.00 2.97 0.00 0.00 0.00 0.00 0.00 0.00 0.99
07:38:50 PM 1 97.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 2.00
07:38:50 PM 2 98.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00
07:38:50 PM 3 96.97 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 3.03
[...]


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

其中,各参数的含义如下:
-P {cpu l ALL}:表示监控哪个CPU, cpu在[0,cpu个数-1]中取值。
internal:相邻的两次采样的间隔时间。
count:采样次数。

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

Note:

  • vmstat和mpstat 命令的差别:mpstat 可以显示每个处理器的统计,而 vmstat 显示所有处理器的统计。因此,编写糟糕的应用程序(不使用多线程体系结构)可能会运行在一个多处理器上,而不使用所有处理器。从而导致一个 CPU 过载,而其他 CPU 却很空闲。通过 mpstat 可以轻松诊断这些类型的问题。
  • vmstat中所有关于CPU的总结都适合mpstat。当您看到较低的 %idle 数字时,您知道出现了 CPU 不足的问题。当您看到较高的 %iowait 数字时,您知道在当前负载下 I/O 子系统出现了某些问题。
举报

相关推荐

0 条评论