CPU 瓶颈识别

CPU 瓶颈识别:观察用户态与系统态占比、上下文切换、运行队列长度;用 top、pidstat 与 perf 采样(火焰图)确认热点在业务逻辑、框架还是序列化。

软件测试速查开发更新于 2026-10-12

常用命令

常用命令
top -H -p <pid>        # 线程级 CPU 视图
pidstat -w -p <pid> 1  # 上下文切换与等待
perf top -p <pid>      # 采样热点(需要权限)
容器场景注意 cgroup 限额:容器被限流(throttling)时,宿主 CPU 视图可能仍有余量。

易错点

  • CPU 未打满就认为无瓶颈,忽略等待型受限(IO、锁)
  • 混用容器内外的利用率口径,扩容结论错误

数据来源与参考

  • Brendan Gregg:火焰图与 perf 使用说明(brendangregg.com)
  • man 手册:top、pidstat
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌