Why can I only assign up to 25% of the CPU to my virtual machine? (under Virtual Server)

Why can I only assign up to 25% of the CPU to my virtual machine? (under Virtual Server)

Rate This
  • Comments 6

This is a question I get asked a fairly regularly.  The scenario is that the user is running Virtual Server on a 4 processor physical computer and is confused as to why they can only assign 25% of CPU resource to a virtual machine.  There are a couple of critical points to be aware of here:

1) A virtual machine can only utilize up to one whole physical processor for execution
2) The percentage displayed on the resource allocation page refers to total CPU resource for the physical machine

Hence 25% on a 4 processor physical computer == 100% on a uniprocesor physical computer == 1 physical processor.

What makes this a little more complicated is when you are running on a physical computer with hyper-threading capabilities.  Hyper-threading is a technology that essentially creates multiple logical processors for each physical processor.  When Virtual Server is running on top of a hyper-threaded computer each virtual machine can only utilize up to one whole logical processor.

Hmm...

Okay - I think I can see why I get asked this question all the time.  Did I mention that for optimal performance we recommend disabling hyper-threading for computers running Virtual Server?

Cheers,
Ben

Leave a Comment
  • Please add 7 and 6 and type the answer here:
  • Post
  • I notice that even multiple virtual machines utilize the same processor. So, even with 2 virtual machines, a 2 processor machine will only get 50% CPU busy...

    Why is this? Why can't each virtual machine get its own processor...
  • Hi Johan,

    Are you running Virtual Server or Virtual PC? On Virtual PC all virtual machines are run on one physical CPU - but on Virtual Server they can be run on seperate CPUs.

    Cheers,
    Ben
  • OK. This is Virtual PC... I guess this is just to make the Virtual Server package more attractive...
    Thanks!
  • I asked the original question. And THIS IS UNDER SERVER!

    Ben was so gracious to respond via email and then blog it. The blog was more concise than the several emails and I think my question is better answered here. Ben - you are a good man for helping out like this.

    I think it kinda stinks. I can solve the problem to 50% by disabling Hyperthreading, but as a previous commenter noted, I cannot use more than 1 logical processor on a dual processor machine (50% of total CPU).

    I was hoping that installing several instances of Virtual Server on the same machine would help- but I doubt that it is possible.
  • Hi Jason,

    If you run more than one virtual machine under Virtual Server - you will use more than 50% total CPU resource.

    Cheers,
    Ben
  • Your right (as one would expect) and this is exactly what I needed. I can now rethink some of my Virtual Server Layout and get a little bit more from each virtual machine.

    Thanks again!
Page 1 of 1 (6 items)