I have a Win2k8 guest running on ESXi 4.1. The host has 12 cores and the problem happens even if the guest is the only VM on the host. We have 4 cores dedicated to the guest.

We noticed that network starts chocking when the CPU load goes up. After some testing we noticed that when running a simple CPU hogging tool set up to run 3 threads at 100% the regular CPU load goes to 75% (like it should) and the "kernel times" graph in task manager goes up to 25%.

My intuition tells me that the network problem and kernel times problem are the same. This is confirmed by another similar VM we created on the same host which doesn't have either of the problems.

VMWare tools are installed and the NIC is e1000.

What else can we do to troubleshoot this?

  • can you explain why you are not using the vmxnet nic? – Jim B Jun 9 '11 at 20:22
  • @Jim not really; but so far everybody I asked for help with this suggested that I switch to e1000 as their first suggestion :) – MK. Jun 9 '11 at 21:50
  • Use the vSphere Performance chart to monitor CPU usage and CPU ready...are there any affinity settings on the VM? – user84832 Jun 17 '11 at 3:31

You want to use the most advanced network drivers you can for every guest. Windows server 208 r2 supports the paravirtualization drivers. Paravirtulized drivers present the least overhead to both guest and host. If you are forcing the host to completely emulate a piece of hardware, you are forcing CPU utilization. Switch to vmxnet3 and see if that reduces the workload and increases performance. You also mention that you are looking at the guest for performance issue. This is a lie. you should always reference the vmware performacnce counters instead of the guest performance counters as the system is virtualized. as an example you might see the cPU at 100% but in vmware you will realize that it's 100% of 500mhz that the machine is currently using.

  • Switching to vmxnet3 doesn't make a difference -- the kernel time waste happens w/o any network activity too, the kernel utilization is the cause, not result of thee network problems. – MK. Jun 10 '11 at 4:13
  • perhaps i am misunderstanding the question. You have poor network performance whenever the guest cpu load is high? Is that the problem? – Jim B Jun 10 '11 at 4:22
  • sorry I'm re-reading this and misunderstood completely - you are looking at CPU time from inside the guest - is that correct? – Jim B Jun 10 '11 at 4:35
  • yes, cpu time inside guest. there are 2 problems which I think are related: the simplest (IMHO) description of the problem is that when I'm running a test cpu hog app which does nothing in kernel mode it still bring kernel mode cpu utilization to an unreasonably high level which seems to cause network issues. – MK. Jun 10 '11 at 14:42
  • I updated my answer, see if the vmxnet 3 driver inceases thruput – Jim B Jun 10 '11 at 15:17

If you haven't already destroyed the guest, you might try some basic OS troubleshooting (e.g. chkdsk, drivers, etc.) to see if it can be repaired. I recently ran into an issue with a guest instance reporting two different CPU/core states.

The guest was assigned 4 cores, but was only showing 3 on the task manager while their was 4 loaded up in the device manager. A chkdsk found errors. When the errors were corrected, the CPU/cores reported correctly throughout and all prior idiosyncrasies with that guest disappeared.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.