系统负载高但 CPU 不高的排查
uptime 的 load average 很高,但 CPU 使用率不高,系统响应变慢。常见于 I/O 等待、内存回收或不可中断睡眠。
uptime
vmstat 1 5
ps -eo state,pid,ppid,comm,wchan:32 | awk '$1 ~ /D/'
iostat -x 1 5
pidstat -d 1 5
cat /proc/pressure/io
cat /proc/pressure/cpu
cat /proc/pressure/memory
vmstat 的 wa、iostat 的 %util 和 await 判断 I/O 瓶颈。wchan,定位是磁盘、NFS 还是内核路径。dmesg 是否有 I/O error、hung task、NFS timeout。vmstat — 整体运行状态iostat — 磁盘 I/Opidstat — 进程级 I/O 与 CPUps — D 状态进程合上页面,先回答,再展开对照。
vmstat 的 wa。再看 iostat -x 的 %util 和 await。ps -eo state,pid,comm,wchan 过滤 D 状态进程并看 wchan。同时检查 dmesg 是否有 I/O error、hung task 或 NFS timeout。