High CPU Usage by ksoftirqd/0 Process – Causes and Fixes

cpu loadprocess

I was feeling Ubuntu was running a bit sluggish, and then I went to see the processes running on it, and found one which was using something like 50% of CPU called ksoftirqd/0.

Does anyone know what this process does, why it is using so much CPU and how to make it less CPU-intensive?

Best Answer

Your computer communicates with the devices attached to it through IRQs (interrupt requests). When an interrupt comes from a device, the operating system pauses what it was doing and starts addressing that interrupt.

In some situations IRQs come very very fast one after the other and the operating system cannot finish servicing one before another one arrives. This can happen when a high speed network card receives a very large number of packets in a short time frame.

Because the operating system cannot handle IRQs as they arrive (because they arrive too fast one after the other), the operating system queues them for later processing by a special internal process named ksoftirqd.

If ksoftirqd is taking more than a tiny percentage of CPU time, this indicates the machine is under heavy interrupt load.

Related Question