Load average uses processes that are running or runnable or in uninterrupted sleep state. So do the processes in uninterrupted sleep state correspond with the
%wa as per the
top command? Both are referring to threads waiting for IO so it seems intuitive to assume that if one increases, the other will as well.
However, I'm seeing quite the opposite. %wait doesn't increase, the %idle is high and the load average is also high. I've read other questions on this but I have't found a satisfactory answer because they don't explain this behaviour.
- If the %wait does not include uninterrupted sleep state, then what is it exactly? Is it that the
%waitdoes not really correspond with the load? (eg. the load could be 10 on a 2 CPU machine but it contributes to only 30% wait%)
- And how is this IO different from the IO referred to in uninterrupted state? What is a possible remedy in this case?
Clearly increasing CPU wouldn't help because there's tasks in the queue which the CPU is not picking up.