2

I have a VMWare ESXI 5.0.0 (it's a bit old, I know) host with three guest VMs on it. For reasons unknown, the guests will not use much of the availble CPU resources.

I have all three guests in a single pool, with the hosts all configured to use the same amount of resource shares, so they're basically 33% each. The three guests are basically identically configured as far as their VM resources go.

So the problem is, even when the guests are performing what should be very 'busy' activitites, such as at bootup, the actual host CPU consumed is something tiny, like 33mhz, when seen via vSphere console's "Virtual Machines" tab when viewing properties for the pool. And of course, the performance of the guest VMs is terrible.

The host has plenty of CPU to spare. I've tried tinkering with individual guest VM resource settings; cranking up the reservation, etc. No matter. The guests just refuse to make use of the abundant CPU available to them, and insist on using a sliver of the available resources.

Any suggestions?

Update after reading various comments below Per the suggestions below, I did remove the guests from the application pool; this didn't make any difference. I do understand that the guests are not going to consume resources they do not need. I have tried to do a remote perfmon on the guest which is experiencing long boot times, but I cannot connect to the guest remotely with perfmon (guest is w2k8r2 server). Host graphs for CPU, Mem, Disk are basically flatlining; very little demand. Same is true for the guest stats; while the guest itself seems to be crawling, the guest resource graphing shows very little activity across CPU, Mem, Disk.

Host is a Dell PowerEdge 2900, has 2 physical CPU,20gb RAM. (it's a test/dev environment using surplus gear) Guest1 has: VM ver. 7, 2vCPU, 4gb RAM, 140gb storage which lives on a RAID-5 array on the host. Guest2 has: VM ver. 7, 2vCPU, 4gb RAM, 140gb storage which lives on a RAID-5 array on the host. Guest3 has: VM ver. 7, 1vCPU, 2gb RAM, 2tb storage which lives on a RAID-5 ISCSI NAS box

Perhaps I am making a false assumption that if a guest has a demand for CPU (e.g. Windows Task Manager shows 100% CPU), the host would supply the guest with more CPU (mem, disk) on demand. Another Update After checking the stats, it would appear that the host is indeed not busy at all, neither is the guest. I believe I have a good idea on the issue, though; a messed-up VMWare Tools install. The guest has VMware Tools on it, but the host says it does not. VMWare Tools refuses to uninstall, refuses to be upgraded, refuses to be recognized. While I cannot say with authority, this would appear to be something worth investigation. I do not know the origin of the guest itself, nor the specifics on the original VMWare Tools install. Following various bits of googling, I did come up with a few suggestions that went nowhere. To that end, I was going to delete this question, but was prompted not to do so since so many folks answered.

My suspicion right now is; the problem truly is the guest; the guest is not making a demand on the host, and as a natural result, the host is treating the guest accordingly.

My Final Update I am 99% certain the guest VM had something fundamentally wrong with it re VMWare Tools. I created a clone of a different VM with a near-identical OS config, but a properly working install of VMWare tools. The guest runs just great, and takes up it's allotment of resources when it needs to; e.g. it eats up about 850mhz CPU during startup, then ticks down to idle once the guest OS is stable.

4
  • How many vCPU are assigned to each guest? Are you certain that they are CPU-bound and not something else, like IO?
    – mfinni
    Jun 5, 2014 at 16:51
  • Ah, first of all why are you using resource pools at all with such a simple setup - they have their places but this isn't one of them - you've not documented the setup in sufficient detail but take them out of the RP right away, it won't be helping as RP planning can be quite complex. That said are your VM's actually busy 'in guest' anyway? Basically show us more data, much more.
    – Chopper3
    Jun 5, 2014 at 16:52
  • Hay many vCPU per VM, and how many physical CPU cores? Have a look at "CPU Ready", "CPU Latency" and "CPU Co-stop" performance charts. Also check for "disk latency" as it could be the bottleneck.
    – LatinSuD
    Jun 5, 2014 at 17:02
  • Measure your disk IO and queues.
    – mfinni
    Jun 5, 2014 at 20:39

2 Answers 2

2

For reasons unknown, the guests will not use much of the availble CPU resources.

I'm with @ewwhite. Do you actually have an issue with your guest VMs where they are CPU constrained and some data to go with it? If not, you are in a good place. There's nothing wrong with your VMs only utilizing "a sliver of the available resources" as long as it does not impact their workloads.

Consolidation and more efficient use of hardware is one of the benefits of virtualization!


and of course, the performance of the guest VMs is terrible.

Beware the XY Problem. If your VMs are not using much CPU they are probably not CPU constrained. That's why I mentioned "data to go with it" above.

If your guest VMs are having a hard time running their workloads compared to your previous benchmarks on either discrete hardware or a different virtualization platform your task is to start profiling the application/s and seeing where they are constrained. Is it IO? Is it Network? Did someone commit a piece of code that runs really slow? You need to gather more information about why you are having performance issues. Which leads me to one my axioms: Don't Guess. Know. Gather some data, generate a hypothesis and come up with a way to test it. Once you have a working theory and some data you can post another follow up question with a much better chance of resolving your actual issue.

2
  • Hypothesis: VMWare Tools is messed up on the guest. Test: Get a nearly identical copy VM guest, but with a good install of VMware Tools. Result: Copy works great, original does not.
    – Alan M
    Jun 6, 2014 at 0:35
  • Now we're cooking with gas. Is the VMware tools process the one using 100% of the guest's CPU? If so, you have probably found your culprit.
    – user62491
    Jun 6, 2014 at 1:01
0

Are you complaining that your virtual machines aren't using enough CPU?! Maybe they just don't require that much CPU in order to function.

3
  • your answer seems more like a comment than an actual answer.
    – jftuga
    Jun 5, 2014 at 17:10
  • @jftuga That's fine.
    – ewwhite
    Jun 5, 2014 at 17:11
  • In layman's terms, my complaint is that the guest is running way too slow. For example, on bootup, the guest (a W2K8 R2 box) is taking > 20 minutes before I can log on via console, and then is taking > 20 minutes before I get to a Desktop. My thinking, flawed as it may be, is that the guest could be running much faster, but the host isn't allowing it to do so. If I could see Task Manager stats on the guest during the startup, I'd like to know if it indeed is going 100% CPU, but i'm stuck with making a wild assertion that it is going max cpu during startup.
    – Alan M
    Jun 5, 2014 at 17:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .