none
Multicore Windows 2003R2 VM uses only 1 Physical core

    Pregunta

  • Hi,

    Maybe some can clarify this for me.

    I have a 1 Processor, Quad-Core server (IBM x3650) – it has Win2008R2 Enterprise installed on it, and HYPER-V role. On that physical server, there one VM – it’s Windows 2003R2 – with 4 Core’s assigned to it. Today I had a situation, where for whatever reason, in the VM Kernel Time CPU spiked to 100% (on all 4 virtual cores) for about 10 minutes. Needless to say, that made the VM almost unresponsive. Now, the interesting part is – during the “blackout”, when I looked at the HOST server, one of the four physical Cores was stuck on 100% load and the other 3 Cores were totally idle, sitting at 0% load.

    I was under the impression, that in Hyper-V, when I assign 4 virtual cores to a VM, then it will actually use all the physical cores (or at least as much physical core’s as there are virtual Cores)? Googleing around, I also stumbled only on information, confirming this information. But yet, I just saw it not behave this way.

    So, my question is – is this behavior related to Windows 2003 VM? Or the fact that load was generated by Kernel CPU? Or something else? Seems a bit pointless, to give 4 CPU’s to a VM, if it can in reality only access one physical core.

    Now, to contradict myself. Did a little test – ran 4 simultaneous compression jobs on the VM. All four virtual cores were loaded 99-100%. On the physical box – nothing. Task manager only showed about 0-5% load on any physical core. Let it be said, that this VM has a limit of 100% system resources – so in theory, it should be able to give full load to physical server.  Anyway – must say that it’s a bit weird behavior. This rather seems to indicate, that the first situation was indeed caused by the Kernel mode CPU?

    viernes, 27 de abril de 2012 8:55

Respuestas

  • Hi!

    Microsoft officially supports Windows Server 2003 as guest operating system with a maximum of 2 CPU's:

    http://technet.microsoft.com/en-us/library/cc794868(v=ws.10).aspx

    Although it's possible to assign 4 CPU's to a 2003 VM, the first recommendation when running into CPU related problems is to reduce the number of virtual CPU's down to 2.

    viernes, 27 de abril de 2012 8:59
  • If you login to the Management OS and you simply bring up Task MAnager - you are not getting a true reading of the 'busy-ness' of the CPU workload.

    That focuses on the management OS and its perception of the CPU load - the management OS is a VM itself.

    You need to use Performance Monitor and measue the VM CPU load - making sure that you are looking in the 'right' place.

    On a related note - Can a kernel event affect the overall hypervisor?  Absolutely.  This is why you should not install software into the managment OS and run processes that are not necessary.

    http://social.technet.microsoft.com/wiki/contents/articles/hyper-v-concepts-vcpu.aspx

    To Mike's point - it is a good one.  As not all operating systems respond well to being virtualized and some actually have a negative impact if you give them too many vCPU.  This does not mean that the 'supported' number is this number.


    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.
    Disclaimer: Attempting change is of your own free will.

    viernes, 27 de abril de 2012 14:39
    Moderador

Todas las respuestas

  • Hi!

    Microsoft officially supports Windows Server 2003 as guest operating system with a maximum of 2 CPU's:

    http://technet.microsoft.com/en-us/library/cc794868(v=ws.10).aspx

    Although it's possible to assign 4 CPU's to a 2003 VM, the first recommendation when running into CPU related problems is to reduce the number of virtual CPU's down to 2.

    viernes, 27 de abril de 2012 8:59
  • If you login to the Management OS and you simply bring up Task MAnager - you are not getting a true reading of the 'busy-ness' of the CPU workload.

    That focuses on the management OS and its perception of the CPU load - the management OS is a VM itself.

    You need to use Performance Monitor and measue the VM CPU load - making sure that you are looking in the 'right' place.

    On a related note - Can a kernel event affect the overall hypervisor?  Absolutely.  This is why you should not install software into the managment OS and run processes that are not necessary.

    http://social.technet.microsoft.com/wiki/contents/articles/hyper-v-concepts-vcpu.aspx

    To Mike's point - it is a good one.  As not all operating systems respond well to being virtualized and some actually have a negative impact if you give them too many vCPU.  This does not mean that the 'supported' number is this number.


    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.
    Disclaimer: Attempting change is of your own free will.

    viernes, 27 de abril de 2012 14:39
    Moderador
  • Thanks. Will try to reduce the number of vCPU's.

    viernes, 11 de mayo de 2012 11:10