mpstat查看CPU使用情况

2025-04发布7次浏览

使用mpstat查看CPU使用情况

mpstat 是一个用于报告多处理器系统中每个处理器(或CPU)的使用情况的工具。它是 sysstat 软件包的一部分,能够提供详细的CPU利用率统计信息,包括用户空间、内核空间、空闲时间等。

1. mpstat简介

mpstat 的全称是 MultiProcessor Statistics,它能够显示系统的整体CPU使用情况以及每个单独CPU的使用情况。通过它可以监控系统负载、检测性能瓶颈,并帮助优化系统资源分配。

主要功能:

  • 显示所有CPU的平均使用情况。
  • 显示每个单独CPU的使用情况。
  • 提供自定义时间间隔的采样数据。

2. 安装mpstat

在大多数Linux发行版中,mpstat 是作为 sysstat 包的一部分提供的。如果系统中没有安装 mpstat,可以通过以下命令进行安装:

在Ubuntu/Debian系统上:

sudo apt-get update
sudo apt-get install sysstat

在CentOS/RHEL系统上:

sudo yum install epel-release
sudo yum install sysstat

安装完成后,可以使用 mpstat --version 来验证是否安装成功。

3. 基本用法

3.1 查看当前CPU使用情况

运行以下命令可以查看当前系统的CPU使用情况:

mpstat

输出示例:

Linux 5.4.0-42-generic (ubuntu)   07/10/2023      _x86_64_        (4 CPU)

12:00:00 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
12:00:00 PM  all    12.3     0.0     3.4     1.2     0.0     0.1     0.0     0.0     0.0    83.0

字段解释:

  • %usr: 用户空间占用CPU的百分比。
  • %nice: 低优先级进程占用CPU的百分比。
  • %sys: 系统空间占用CPU的百分比。
  • %iowait: CPU等待I/O完成的时间百分比。
  • %irq: 硬中断占用CPU的百分比。
  • %soft: 软中断占用CPU的百分比。
  • %steal: 虚拟机环境下,其他虚拟机占用宿主机CPU的时间百分比。
  • %idle: CPU空闲时间的百分比。

3.2 指定时间间隔和次数

可以通过指定时间间隔和采样次数来动态监控CPU使用情况。例如,每2秒采样一次,共采样5次:

mpstat 2 5

3.3 查看单个CPU的使用情况

默认情况下,mpstat 显示的是所有CPU的平均使用情况。如果想查看每个CPU的详细使用情况,可以使用 -P ALL 参数:

mpstat -P ALL

输出示例:

Linux 5.4.0-42-generic (ubuntu)   07/10/2023      _x86_64_        (4 CPU)

12:00:00 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
12:00:00 PM  all    12.3     0.0     3.4     1.2     0.0     0.1     0.0     0.0     0.0    83.0
12:00:00 PM    0    15.0     0.0     4.0     2.0     0.0     0.2     0.0     0.0     0.0    79.0
12:00:00 PM    1    10.0     0.0     3.0     1.0     0.0     0.1     0.0     0.0     0.0    86.0
12:00:00 PM    2    13.0     0.0     3.5     1.5     0.0     0.1     0.0     0.0     0.0    82.0
12:00:00 PM    3    11.0     0.0     3.2     1.3     0.0     0.1     0.0     0.0     0.0    84.5

3.4 查看特定CPU的使用情况

如果只想查看某个特定CPU的使用情况,可以指定CPU编号。例如,查看CPU 0的使用情况:

mpstat -P 0

4. 高级用法

4.1 结合sar工具使用

sar 是另一个强大的系统性能分析工具,通常与 mpstat 结合使用。可以使用 sar 记录一段时间内的CPU使用情况,然后通过 mpstat 分析这些数据。

记录CPU使用情况:

sar -u 2 5 > cpu_usage.log

分析记录的数据:

mpstat -f cpu_usage.log

4.2 输出到文件

可以将 mpstat 的输出结果保存到文件中,方便后续分析:

mpstat > cpu_usage.txt

5. 总结

mpstat 是一个非常实用的工具,可以帮助系统管理员和开发人员快速了解CPU的使用情况,从而优化系统性能。通过结合不同的参数,可以灵活地获取不同维度的CPU使用数据。