← Back to all fixes

High CPU but no obvious process in top

The Issue

`top` shows overall CPU at 90%+ but no single process shows high usage. Server is sluggish.

Root Cause

CPU may be spent in kernel/system time (si, sy columns), many short-lived processes spawning too fast to catch, or a process running as a different user not visible with your permissions.

How to Fix
  1. Check kernel vs user CPU split in top: press `1` to see per-core breakdown
  2. High `sy` (system) means kernel work — check for many syscalls: `strace -p <pid>`
  3. Catch short-lived processes: `ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | head -20`
  4. Check if iowait is the real culprit (CPU waiting on disk): look at `wa` in top
  5. Use `perf top` for real-time kernel profiling on what is consuming CPU cycles