Why is cpu power management not working in Server 2012 with Hyper-V?

Unanswered Why is cpu power management not working in Server 2012 with Hyper-V?

  • Friday, November 23, 2012 9:18 AM
     
     

    We've been using Server2008R2 with Hyper-V for a couple of years now and chose it at the time because of its ability to make use of Intel SpeedStep and AMD PowerNow!

    Now with Server 2012 and Hyper-V V3, all power management abilities seem to be gone. The CPUs are always at full speed and our servers need twice the energy as before while idling. (Yes, the CPU P-states are enabled in the BIOS)

    Is this by design? Is there a workaround to enable cpu power management again? Despite the great new features of Hyper-V 3, this would be a show-stopper for us since we are very concerned about energy consumption.


    rosch

All Replies

  • Monday, November 26, 2012 7:30 AM
    Moderator
     
     

    Hi,

    I searched the internet and found below thread which discuss the same issue, please go through it:

    Hyper-V Windows 8 CPU power management problem

    http://social.technet.microsoft.com/Forums/en-US/w8itprogeneral/thread/6f383b2a-3a4a-472f-a966-cda0ce646e37/

    Also the below thread:

    Has anybody got Hyper-V working with AMD CPU's

    http://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/2e77f7e2-13f0-4678-a4b9-e3385cf04c21

    Regards,

    Yan Li

    If you have any feedback on our support, please click here .


    Cataleya Li
    TechNet Community Support


  • Monday, November 26, 2012 11:14 AM
     
     

    Yan Li,

    thanks for trying to help. 

    None of the links provided address the issue and answer my questions. The second link is from 2008 - at that time, with Windows 2008 (and 2008R2), the power management worked fine.

    It is only Windows Server 2012 with its Hyper-V incarnation which does not seem to provide CPU power-management anymore.

    Again: Is this by Microsoft-design or is it a bug? Is there a way to get CPU power management back?

    Regards,
    Roland


    rosch

  • Tuesday, November 27, 2012 7:51 AM
    Moderator
     
     

    Hi,

    As far as I know, even Windows 2008 support power management, power management still cause issues on hyper-v, like the below links write:

    http://support.microsoft.com/kb/2534356

    http://blogs.msdn.com/b/virtual_pc_guy/archive/2005/09/19/471612.aspx

    And now Windows 2012 does not have any comment on power management, maybe it is disabled in Windows 2012.

    Regards,

    Yan Li

    If you have any feedback on our support, please click here .


    Cataleya Li
    TechNet Community Support

  • Thursday, November 29, 2012 5:25 PM
     
     

    Yan Li,

    the issues from KB2534356 are fixed by Microsoft; we never experienced them anyway.

    The virtual PC guy blog is not really discussing Server 2012.

    When you write "maybe it is disabled in Windows 2012" - maybe, you can find out?

    Thanks,


    rosch


    • Edited by rosch Thursday, November 29, 2012 5:26 PM
    •  
  • Friday, November 30, 2012 1:57 AM
    Moderator
     
     

    Hi,

    The blog is talking about windows 2008, and till not, I could not find out any Microsoft article takling about power management. And as we can see, power management could cause many issues on hyper-v when used on Windows 2008.

    I am trying to involve someone familiar with this topic to further look at this issue. There might be some time delay. Appreciate your patience.

    Regards,

    Yan Li

    If you have any feedback on our support, please click here .


    Cataleya Li
    TechNet Community Support

  • Friday, November 30, 2012 2:11 AM
     
     

    What values to you see for:

    Hyper-V Hypervisor Logical Processor\% of Max Frequency

    Hyper-V Hypervisor Logical Processor\%C3 Time

    perf counters?

    --Ryan


  • Friday, November 30, 2012 2:11 PM
     
     

    Hi Rosch,

    I didn't know what you want to know about power management. 

    The following features apply to Client Hyper-V (Windows 8) but are not available in Windows Server 2012 Hyper-V

    • Virtual switch can bind to wireless network adapters
    • Power features sleep and hibernate

    Do you mean this? Thanks .


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

  • Friday, November 30, 2012 2:37 PM
     
     

    Unfortunately, I cannot see either of the performance counters returning any result. After I created a new system monitor protocol containing both perf counters, it was empty. It seems that they are not available.

    The Processor %C3 time is 0.

    Maybe, I have to enable these performance counters first? Unfortunately, I could not find a way how to do that.

    Thanks,


    rosch

  • Friday, November 30, 2012 5:21 PM
     
     

    Hi,

    I am not looking for any feature you mention. Sleep and hibernate is not the issue.

    I am just wondering, why the CPU does not go into power-saving states (reduces clock speed) anymore since we upgraded our servers to Server 2012/Hyper-V.

    The CPUs are constantly at full speed, thus doubling the idle power consumption of our servers. This was not the case with Server 2008R2/Hyper-V. CPU power management worked the way it is supposed to.

    Thanks,


    rosch

  • Friday, November 30, 2012 10:03 PM
     
     

    Just to make sure, you're looking at the host, right?

    There should be an event log entry on the host at boot describing what ACPI states Hyper-V is seeing from the processor. (System Log)

    Can you look for an entry from Kernel-Processor-Power?

  • Saturday, December 01, 2012 10:47 AM
     
     

    Hi Ryan,

    yes, I am looking at the host.

    After powering up, there are entries for each core in the system log:

    -

    System

    -

    Provider

    [ Name]

    Microsoft-Windows-Kernel-Processor-Power

    [ Guid]

    {0F67E49F-FE51-4E9F-B490-6F2948CC6027}

    EventID

    55

    Version

    1

    Level

    4

    Task

    47

    Opcode

    0

    Keywords

    0x8000000000000000

    -

    TimeCreated

    [ SystemTime]

    2012-11-29T11:28:29.113837600Z

    EventRecordID

    3769

    Correlation

    -

    Execution

    [ ProcessID]

    4

    [ ThreadID]

    92

    Channel

    System

    Computer

    merkur

    -

    Security

    [ UserID]

    S-1-5-18

    -

    EventData

    Group

    0

    Number

    0

    IdleStateCount

    1

    IdleImplementation

    1

    NominalFrequency

    2800

    MaximumPerformancePercent

    100

    MinimumPerformancePercent

    35

    MinimumThrottlePercent

    35

    PerformanceImplementation

    1


    rosch

  • Thursday, December 06, 2012 6:12 PM
     
     

    Unfortunately, I cannot see either of the performance counters returning any result. After I created a new system monitor protocol containing both perf counters, it was empty. It seems that they are not available.

    The Processor %C3 time is 0.

    Maybe, I have to enable these performance counters first? Unfortunately, I could not find a way how to do that.

    Thanks,


    rosch

    Processor or "Hyper-V Logical Processor"?

    One represents the processor seen by the Hypervisor, and the other the one exposed to the root partition.

    From your event log below the %Max Frequency and %C1 Time should have some reading on the Hyper-V Logical Processor perf counters. On Processor they should be showing nothing and 0 respectively.

     

  • Friday, December 07, 2012 8:52 AM
     
     

    Hi Ryan,

    it is interesting since the perf counters of the "Processor" show some reading:

    %C1: 20-30%

    %Max Frequency: 100%

    For the Hyper-V Logical Processor:

    %C1: 30-90%

    %Max Frequency: 0

    By the way, the C1 time of the Hyper-V Logical Processor is very similar to the C2 time of the Processor reading. All C3 times are 0.


    rosch


    • Edited by rosch Friday, December 07, 2012 8:54 AM
    •