1

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?

dsign
  • 153
  • 8
  • Basically never trust the 'in-VM' utilisation stats - the fact that you're effectively time-slicing real time vs. a fixed clock inside the VM ensures that these figures can never be right. Trust the hypervisor to tell you how busy a VM is, it's the only true figure. – Chopper3 Oct 30 '18 at 11:11
  • Thanks @Copper3 . Well at least in this case the very dry data that I'm getting from Hyper-V seems to agree with what I get from inside.... – dsign Oct 30 '18 at 11:41

0 Answers0