#StackBounty: #io #iotop Why are processes blocked by I/O in case of heavy system load?

Bounty: 200

I have a workstation(2x Intel Xeon family CPUs and 128GiB of RAM) running several virtual machines and while the combined CPU usage is <30%, then the load average is between 20 and 25. For example, if I execute a tar -xzvf vm_data.tgz --directory vm4/ --strip-components=1 command, then the gzip process is 90% – 99% of its time blocked by I/O and the command takes forever to complete:

enter image description here

On the other hand, the actual reads and writes to disks are very low compared to SATA 3.0 or SSDs(I’m using single Kingston SA400S37960G SSD) hardware limits.

What might cause a process(gzip in my example) to wait after the I/O while the actual disk reads and writes appear to be very low? My first thought was that maybe the system interrupts are very high and that’s what’s blocking the I/O, but according to /proc/interrupts this does not seem to be the case as none of the counters are increasing rapidly.

Get this bounty!!!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.