首页/系统/Linux 内核与性能调优速查/平均负载高但 CPU 空闲的排查
本包目录(357 条)
sysctl 内核参数72 条
CPU 与调度60 条
内存与 OOM58 条磁盘与 IO32 条网络栈调优98 条性能分析工具37 条

平均负载高但 CPU 空闲的排查

Linux 的平均负载把不可中断睡眠(D 状态,多为等 IO)计入;负载高而 CPU 空闲通常是磁盘或网络文件系统阻塞。

关键命令uptime / ps D 状态 / iostat -x
D 状态定义TASK_UNINTERRUPTIBLE

定位步骤

定位步骤
uptime
ps -eo state,pid,wchan:24,comm | awk '$1=="D"'
iostat -x 1 3
cat /proc/loadavg

易错点

  • D 状态进程的 wchan 指向等待点,需结合应用日志判断是磁盘还是网络存储
  • 虚拟机上还要排除宿主 steal 时间造成的假高负载

数据来源与参考

  • Linux 内核 Documentation/filesystems/proc.rst(loadavg)
  • sysstat 文档 iostat(1)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌