在系统性能优化与故障诊断过程中,CPU 使用率过高通常是首要关注的指标。面对大量正在运行的进程,如何迅速定位高 CPU 消耗的根源?cpustat 便是一款非常实用的工具——它虽然功能简洁,但胜在直观高效,能够将 CPU 资源的占用情况分析得清晰透彻。

要让 cpustat 为你工作,首先需要安装它。如果你使用的是基于 Debian 的 Linux 发行版(如 Ubuntu),只需执行以下命令即可:
sudo apt-get install sysstat
安装完成后,直接运行 cpustat 即可查看输出。默认情况下,该命令会显示所有 CPU 核心的统计信息,包括用户空间占用率(us)、系统空间占用率(sy)、空闲时间(id)等。快速浏览这些数据,你就能初步判断哪些 CPU 核心处于高负载状态。
然而,这仅属于粗粒度的观察,更关键的是要识别出具体是哪个进程消耗了 CPU 资源。此时可以加上 -p 选项:
cpustat -p
输出结果中,每个进程的 CPU 使用率都会被逐一列出,通常 CPU 占用最高的进程会排列在最前面。需要重点关注 %usr 和 %sys 这两列——前者代表用户态消耗,后者代表内核态消耗。如果某个进程的这两个数值持续处于高位,那么它基本上就是你需要定位的高 CPU 消耗进程。
当然,如果你需要更实时、更直观的交互式监控,建议结合 top 或 htop 等工具一起使用。例如,直接输入 top 命令:
top
在 top 界面中,按 %CPU 列进行排序,所有进程便会按照 CPU 消耗从高到低依次排列,直观清晰。这种组合使用的方法,既能通过 cpustat 获取精细的 CPU 分解数据,又能借助 top 快速捕捉动态变化,是实际运维中非常实用的一套技巧。
