Plainnotes

High load, idle CPU

2026-07-21 · 2 min readDebug

uptime says 20 while top shows 90% idle. Both are true: Linux load average counts processes in R and D state, and D means blocked on I/O.

ps -eo state,pid,comm | awk '$1=="D"'

A pile of D-state processes points at disk or network storage; check iostat -x 1 for %util and await.

Another source is cgroup throttling. When a container exhausts its CPU quota, its processes wait in the runqueue and push load up while the host looks idle.

/proc/loadavg also carries the number of currently runnable processes, which separates "high historically" from "high right now".