Linux console based monitoring tools report misleading utilization
github.com
github.com
> Let's see an example. Execute this in a shell:
> while [ 1 ]; do ls -l /tmp >/dev/null; done
[...] > As we will see below, none of the console performance monitoring tools can report that this command is using 100% CPU.
It's not a command. It's a shell loop, meaning it's many commands, executed one after another.
> They do report of course that the CPU is busy, but they fail to identify the process that consumes so much CPU.
Actually, they tell that the busywork is in kernel space. Which usually means heavy syscall workload. What quite often means some idiot runs plenty of fork()+exec() in a tight loop.