Where does network waiting go in ‘top’

networkingtop

If top is showing high loads, and you don't know if the process causing it is doing processor time or is doing network i/o (not local i/o) how can you find that out?

On our server I see high values for load, but in combation with 60%-70%idle, and around 25% user. I would like to know how to interpet such values, but on the internet I almost always read that you can use iostat to see if the process is trashing your disks. But I know already for sure, that that is not the case. The process in question does not have trouble doing its job either, but still load is high.

So, is there a way to find out more which part is caused by network waiting and which part is caused by real processor time? And what is the meaning of 'idle' in top?

For clarity: with load I mean the 3 numbers that signify the average queued processes per core. There are 8 cores on this machine and the numbers get up to 25, so that is a load of 2.5 per core.

Best Answer

If top is showing high loads, and you don't know if the process causing it is doing processor time or is doing network i/o (not local i/o) how can you find that out?

Network I/O is not taken into account in the Linux iowait metric, unless it is part of an NFS transaction in which case it is considered as disk I/O.

So, is there a way to find out more which part is caused by network waiting and which part is caused by real processor time?

Outside an hypothetical NFS wait, no part at all of the average load is taken by network waiting.

And what is the meaning of 'idle' in top?

That means the percentage of time the CPU is not in another of the listed states (user, system, nice, iowait, hardware interrupts, software interrupts, stolen). This includes network waits. When idle, the CPU does essentially nothing. Note that iowait is also idle time as a CPU doesn't do anything either.

Related Question