实战

安装 + 启用

sudo apt-get install sysstat
sudo service sysstat start

mpstat

$ mpstat
Linux 5.15.90.1-microsoft-standard-WSL2 (d)     11/14/23        _x86_64_        (16 CPU)

09:56:42     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
09:56:42     all    0.04    0.00    0.02    0.04    0.00    0.01    0.00    0.00    0.00   99.89

对应的内容解释:

这是 mpstat 命令输出的一部分,显示了特定时刻(09:56:42)的 CPU 使用情况的统计信息。

以下是每个列的详细解释:

  • 09:56:42:显示报告的时间点。

  • CPU:指定了下面列出的 CPU 统计信息所属的 CPU 编号。all 表示所有 CPU 的平均值。

  • %usr:用户空间进程占用 CPU 的百分比。在这个例子中,用户空间进程占用了 0.04% 的 CPU 时间。

  • %nice:优先级较高的进程占用 CPU 的百分比。在这个例子中,这个值为 0.00。

  • %sys:内核空间进程占用 CPU 的百分比。在这个例子中,内核空间进程占用了 0.02% 的 CPU 时间。

  • %iowait:等待 I/O 操作完成的 CPU 百分比。在这个例子中,CPU 在等待 I/O 操作完成时占用了 0.04% 的时间。

  • %irq:硬中断占用 CPU 的百分比。在这个例子中,硬中断占用了 0.00% 的 CPU 时间。

  • %soft:软中断占用 CPU 的百分比。在这个例子中,软中断占用了 0.01% 的 CPU 时间。

  • %steal:被其他虚拟机占用的 CPU 百分比。在这个例子中,这个值为 0.00,表示没有被其他虚拟机占用。

  • %guest:虚拟 CPU 占用 CPU 的百分比。在这个例子中,这个值为 0.00。

  • %gnice:优先级较高的虚拟 CPU 占用 CPU 的百分比。在这个例子中,这个值为 0.00。

  • %idle:空闲 CPU 百分比。在这个例子中,CPU 处于空闲状态的时间占了 99.89%。

这些百分比值表示 CPU 在不同状态下的占用情况,可用于监测系统的 CPU 负载和性能。

在这个例子中,总体上 CPU 的负载非常低,绝大多数时间都处于空闲状态。

chat

Q1-详细介绍一下 linux mpstat 命令

mpstat(Multiple Processor Statistics)是一个用于显示多处理器系统的 CPU 使用率统计信息的命令。

它提供了每个处理器的独立统计数据,以及平均值。

mpstatsysstat 软件包的一部分,通常需要先安装 sysstat 才能使用。

命令格式:

mpstat [选项] [时间间隔] [次数]
  • 选项-P(显示每个处理器的统计信息)、-A(显示所有处理器的统计信息)等。
  • 时间间隔:指定输出统计信息的时间间隔。
  • 次数:指定输出统计信息的次数。

常用选项:

  1. -P:指定要显示的处理器的编号。
    mpstat -P ALL 1 5
    

    上述命令每隔1秒输出一次所有处理器的统计信息,共输出5次。

  2. -A:显示所有处理器的统计信息。
    mpstat -A 1 5
    

    上述命令每隔1秒输出一次所有处理器的统计信息,共输出5次。

示例输出:

Linux 5.4.0-94-generic (hostname)  11/14/2023  _x86_64_ (4 CPU)

10:56:30 AM  CPU   %user   %nice  %system %iowait  %irq   %soft  %steal  %guest  %gnice   %idle
10:56:31 AM  all    0.00    0.00    0.00    0.00   0.00    0.00    0.00    0.00    0.00  100.00
10:56:31 AM    0    0.00    0.00    0.00    0.00   0.00    0.00    0.00    0.00    0.00  100.00
10:56:31 AM    1    0.00    0.00    0.00    0.00   0.00    0.00    0.00    0.00    0.00  100.00
10:56:31 AM    2    0.00    0.00    0.00    0.00   0.00    0.00    0.00    0.00    0.00  100.00
10:56:31 AM    3    0.00    0.00    0.00    0.00   0.00    0.00    0.00    0.00    0.00  100.00

输出解释:

  • CPU:显示每个 CPU 的编号或者 all 表示所有 CPU 的平均值。
  • %user:用户空间进程占用 CPU 的百分比。
  • %nice:优先级较高的进程占用 CPU 的百分比。
  • %system:内核空间进程占用 CPU 的百分比。
  • %iowait:等待 I/O 操作完成的 CPU 百分比。
  • %irq:硬中断占用 CPU 的百分比。
  • %soft:软中断占用 CPU 的百分比。
  • %steal:被其他虚拟机占用的 CPU 百分比(仅在虚拟化环境中可见)。
  • %guest:虚拟 CPU 占用 CPU 的百分比。
  • %gnice:优先级较高的虚拟 CPU 占用 CPU 的百分比。
  • %idle:空闲 CPU 百分比。

这些统计数据提供了关于每个 CPU 的使用情况,以及整个系统的平均使用情况。

mpstat 可以帮助你监测系统的 CPU 负载和性能。

参考资料