首页/系统/Linux 运维命令速查/场景:CPU 负载高怎么定位
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条
性能与监控48 条
定时任务与计划50 条

场景:CPU 负载高怎么定位

负载高先分清三类等待:CPU 排队、IO 等待、锁/切换风暴;按表排查,10 分钟内给出方向。

Linux 运维命令速查系统更新于 2026-10-12
场景load average 持续高于核数
目标定位瓶颈类型与具体进程
工具链uptime → vmstat → top → pidstat

第 1 步:基线

第 1 步:基线
uptime; nproc; vmstat 1 5 | tail -n +2

第 2 步:分辨类型

第 2 步:分辨类型
# r 大 → CPU/运行队列;wa 高 → IO;cs 高 → 切换
vmstat 1 5

第 3 步:找进程

第 3 步:找进程
top -b -o %CPU -n 1 | head -n 20
pidstat -u 1 3 | sort -k8 -rn | head
pidstat -w -t 1 3 | sort -k5 -rn | head   # 切换高的线程

第 4 步:IO 侧确认(若是 wa)

第 4 步:IO 侧确认(若是 wa)
iostat -xz 1 3
iotop -o -b -n 2 | head -n 20
D 状态(不可中断)进程多时可先看它们:ps -eo stat,pid,comm | awk '$1 ~ /D/'。

易错点

  • 只盯着 CPU 找原因:wa 型高负载再怎么优化代码都没用,先解决存储
  • 负载 5 分钟平均值滞后于瞬时问题:抓现场要用 1 秒级采样

数据来源与参考

  • man 8 vmstat
  • man 1 top
  • man 1 pidstat(sysstat)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌