在 Ubuntu 上,cpustat 通常指 sysstat 包中的 mpstat 类似工具,或者更常见的是 cpustat(由 Cloudflare 开发的性能分析工具)。下面分别说明,并重点讲如何分析。
cpustat
特点:
安装:
sudo apt install cpustat
mpstat -P ALL 1
这是最常用于“CPU 使用率分析”的工具。
典型输出示例:
CPU User Nice Sys Idle IOWait IRQ SoftIRQ Steal Guest
0 12.3 0.0 5.1 82.1 0.2 0.1 0.2 0.0 0.0
1 45.6 0.0 10.2 43.1 0.5 0.0 0.4 0.0 0.0
| 字段 | 含义 | 说明 |
|---|---|---|
| User | 用户态 CPU | 应用程序消耗 |
| Sys | 内核态 CPU | 系统调用、驱动 |
| Idle | 空闲 | 越高越好 |
| IOWait | 等待 IO | 高 = 磁盘/网络瓶颈 |
| IRQ / SoftIRQ | 中断 | 网络、硬件中断 |
| Steal | 被虚拟化抢占 | 云服务器常见 |
iostat -x 1 配合分析cpustat
观察:
cat /proc/softirqscpustat
top -H
cpustat
iostat -x 1
perf top
通过
cpustat观察,CPU0 用户态占用长期 85% 以上,Idle 低于 10%,且 IOWait 不明显,说明瓶颈来自应用程序计算,而非磁盘 IO,建议优化算法或增加线程并行度。
如果你愿意,可以:
我可以帮你逐行分析并给优化建议。