位置:首页 > 其他编程语言 > cpustat 如何显示 CPU 历史使用情况

cpustat 如何显示 CPU 历史使用情况

时间:2026-08-25  |  作者:星际追番人  |  阅读:0

目录

  1. 先分清:谁负责采集,谁负责查看
  2. 先安装 sysstat 工具包
  3. 如何查看实时使用情况和一段时间内的记录
  4. 如何把 CPU 统计结果保存到文件
  5. 遇到权限不足时怎么办

前言

很多人装好了 sysstat,却还是不知道该怎么把 CPU 一段时间内的使用情况真正看清,原因往往不是命令难,而是把 cpustatmpstat 的角色混在了一起。本文按安装、实时查看、历史采样和结果保存四步拆开说明,并把 1 6060 60 这类参数组合对应的时间范围讲明白,方便你在排查 CPU 异常时快速判断该用哪条命令。

提到 CPU 监控,很多人会先想到 cpustat,也会顺手提到 mpstat。但真正到了要排查 CPU 异常、回看一段时间内的占用变化时,最容易卡住的问题其实不是命令本身,而是没分清谁负责采集、谁负责展示,以及采样间隔和次数该怎么组合。

这篇文章就围绕这个实际场景展开:先说明 cpustatmpstat 的关系,再给出安装方法、实时查看方式、按时间窗口统计的方法,以及如何把结果保存到文件中。看完之后,你可以快速判断该用哪条命令查看当前状态,也能自己拼出 1 分钟、1 小时这类历史采样命令。

先分清:谁负责采集,谁负责查看

cpustatmpstat 都是常见的 CPU 统计工具,并且都来自 sysstat 包。实际使用时,最容易混淆的一点是:cpustat 更偏向采集侧,而真正用来查看 CPU 使用情况、按 CPU 核心输出统计结果的,通常是 mpstat

也就是说,如果你的目标是查看 CPU 在一段时间内的使用分布,比如用户态、系统态、空闲时间等指标的变化,重点应该放在 mpstat 上。后面的命令示例也都围绕它展开。

先安装 sysstat 工具包

在大多数 Linux 发行版里,mpstat 并不会默认单独提供,而是随 sysstat 一起安装。先把这个包装好,后面的命令才能直接使用。

sysstat 与 mpstat 的关系,以及安装命令对应不同 Linux 发行版的信息图
sysstat 与 mpstat 的安装关系用一张图先理清工具关系,再对应到 Debian 系和 RPM 系的安装命令。

Debian 系发行版,例如 Ubuntu,可以执行:

sudo apt-get install sysstat

RPM 系发行版,例如 Fedora、CentOS,可以执行:

sudo yum install sysstat

装完之后,就可以直接调用 mpstat。如果系统提示命令不存在,优先检查的就是 sysstat 是否已经正确安装。

如何查看实时使用情况和一段时间内的记录

实时查看所有 CPU

如果你想先确认当前机器的 CPU 正在发生什么,可以直接用下面这条命令:

mpstat 输出重定向保存到 cpu_usage.txt 并在权限不足时使用 sudo 的处理信息图
结果落盘与权限处理保存记录和处理权限问题,是把一次临时观察变成可复盘数据的关键两步。
mpstat 采样间隔与次数如何组成 1 分钟和 1 小时统计窗口的信息图
mpstat 参数怎样对应时间窗口把 mpstat 的两个关键参数拆开看,更容易判断 1 秒 60 次和 60 秒 60。
mpstat -P ALL 1

其中,-P ALL 表示显示所有 CPU,最后的 1 表示每 1 秒刷新一次。这种方式适合做实时观察,尤其是在你已经怀疑某个进程导致 CPU 波动的时候,终端里能直接看到每秒的变化。

按采样间隔和次数组合历史窗口

mpstat 的历史查看思路并不复杂,核心就是把“采样间隔”和“采样次数”组合起来。原文里给出的示例是:

mpstat -P ALL 1 60

这里第一个 1 表示每 1 秒采样一次,第二个 60 表示一共采样 60 次,所以这条命令实际覆盖的是 1 分钟的数据,而不是 1 小时。

如果目标真的是查看过去 1 小时内的持续输出,参数就应该改成每 60 秒采一次、总共采 60 次:

mpstat -P ALL 60 60

这样命令会每分钟输出一次统计结果,连续输出 60 次,整体覆盖 1 小时。理解了这个组合关系之后,你就可以按同样方式调整出其他窗口,例如更短或更长的观察周期。

如何把 CPU 统计结果保存到文件

只在终端里盯实时输出,适合临时观察;但遇到性能抖动、峰值突发或者需要事后复盘的问题时,保留一份完整记录通常更有用。最直接的办法就是把输出重定向到文件:

mpstat -P ALL 60 60 > cpu_usage.txt

这条命令会把 1 小时内的所有 CPU 统计结果写入 cpu_usage.txt。后续无论是自己复查,还是交给同事一起分析,都不需要重新等待一轮采样。

对于排查性能瓶颈来说,这一步很关键。因为很多 CPU 异常并不是你盯着终端时刚好出现,保存结果以后,至少能确保当时的统计数据被完整留住。

遇到权限不足时怎么办

有些系统环境下,mpstat 需要更高权限才能读取完整的 CPU 统计信息。如果执行时出现权限不足,最简单的处理方式就是直接加上 sudo

sudo mpstat -P ALL 60 60

是否必须使用 sudo,取决于系统配置和当前账户权限。如果命令已经能正常输出完整数据,就不需要额外提升权限;如果报错,再补上即可。

从使用角度看,mpstat 的门槛并不高。关键不是命令多复杂,而是先搞清它负责什么、参数如何对应时间范围,以及什么时候应该顺手把结果落盘。下次再遇到 CPU 突然飙高,与其只看一眼当前值,不如直接用 mpstat 把这一段时间的表现完整拉出来,判断依据会更扎实。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多