We have a Hyper-V guest with 4 virtual cores reporting 50% usage total among all the virtual cores. That is, this 50% is what atop and top report, with a complementary 350% of "idle". That means at least in theory, 12.5% of total virtual CPU capacity usage. The same server however, when under that stress, reports network round-trip-times in the TCP stack (i.e. SYN packet one way, SYN-ACK packet back) which is four times larger of what they are otherwise. Notice that this part of a TCP connection doesn't touch other I/O in the machine, e.g. disks. Also, I measured the round-trip times to another server to discard local problems in my network. And we didn't see packet loss.
So, there are two possibilities: either the hypervisor is throttling the VM's kernel, or there is a network queue somewhere adding latency to the packets.
My question here is in order to discard the first possibility: does CPU usage reports for a virtual guest, from inside the guest itself, are moderately accurate?
0 Answers