cpustat 作为系统性能监控的常用工具,对于经常分析 CPU 负载的用户来说并不陌生。它集成在 sysstat 软件包中,专门用于实时展示 CPU 状态——包括用户态、系统态、空闲时间等关键指标,帮助运维人员快速判断 CPU 是否处于高负荷状态。简而言之,它是一款高效定位 CPU 性能瓶颈的实用命令。

那么,在实际运维场景中,cpustat 有哪些常见用法?下面整理了从基础查询到深度分析的几个典型操作,总有一个适合你的需求。
首先是最简单的用法:直接输入 cpustat 不加任何参数。此时系统会输出所有 CPU 核心的默认统计信息,包括每秒上下文切换次数、中断次数等,适合快速查看整体运行状况。
若想监控某个特定核心,例如 CPU 0,只需添加 -p 0 参数。将数字替换为其他核心编号,即可逐个排查各核心的负载差异。在多核环境下,这一功能对于定位“单核满载”问题尤为有效。
有时需要持续观察一段时间内的变化,比如每秒采集一次,连续采集 5 次。此时 -i 1 5 参数组合便派上用场:第一个参数指定时间间隔(秒),第二个参数指定采样次数,灵活适配不同监控需求。
想要更深入的分析?试试 -c 参数,它会列出每个 CPU 核心的详细统计信息,包括用户态、系统态、空闲时间等细分数据。若再加上 -p 0,则只显示 CPU 0 的详细情况,避免信息过载。
很多用户更关注 CPU 使用率百分比而非原始数值。此时 -u 参数正是你需要的——直接输出用户态、系统态、空闲时间的百分比,一眼就能判断 CPU 是否繁忙。
系统层面的中断次数和上下文切换次数,同样是排查性能瓶颈的常用指标。使用 -i 参数可以单独调出这些数据,无需在冗长的输出中手动查找。
负载平均值(1 分钟、5 分钟、15 分钟)是衡量系统整体压力的经典指标。通过 -l 参数,cpustat 会直接展示这三个数值,省去手动计算的麻烦。
最后,如果硬件和驱动支持,-t 参数还能读取 CPU 温度。在服务器机房温度过高时,这一功能可帮助你快速预警,避免硬件过热。
需要注意的是,不同系统环境或配置下,cpustat 的输出格式和可用选项可能略有差异。如果遇到某些选项报错,请先确认 sysstat 包是否完整安装,再查阅系统文档,通常都能解决问题。
