larstr
Champion
Champion

Power saving settings

Jump to solution

Power saving settings have always been an important topic and a known best practice involve configuring BIOS to full performance and some hardware vendors now offer to deliver servers preconfigured with this setting.

Retrieving info from the vsphere web client can be done on the power management page:

pastedImage_0.png

We can see that this host has disabled any power management (meaning full performance) in BIOS by looking at the Techology line that says "--". If it says ACPI-C it means dynamic power saving (balanced)  and if it says ACPI-P it means OS control mode in the BIOS. The Active Policy field here is irrelevant as long as Technology doesn't have an ACPI-value, and in the HTML5 client it *is* possible to change this value even though it has no effect (used to get greyed out in the .Net client when you disabled power saving).

By using PowerCLI I can list and set the Active Policy, but as long as BIOS is set to full performance the results will be wrong, atleast on 6.7. I think these gave better answers some time ago. Being able to read the Technology field with PowerCLI would probably be a good idea, but I haven't figured out how.

I found a one-liner to get some power saving values, but the results are of not much help:

PS C:\ps> Get-VMHost | Sort | Select Name,

>> @{ N="CurrentPolicy"; E={$_.ExtensionData.config.PowerSystemInfo.CurrentPolicy.ShortName}},

>> @{ N="CurrentPolicyKey"; E={$_.ExtensionData.config.PowerSystemInfo.CurrentPolicy.Key}},

>> @{ N="AvailablePolicies"; E={$_.ExtensionData.config.PowerSystemCapability.AvailablePolicy.ShortName}}

Name                CurrentPolicy CurrentPolicyKey AvailablePolicies

----                ------------- ---------------- -----------------

esxi01.company.com dynamic                      2 {static, dynamic, low, custom}

esxi02.company.com dynamic                      2 {static, dynamic, low, custom}

esxi03.company.com dynamic                      2 {static, dynamic, low, custom}

esxi04.company.com dynamic                      2 {static, dynamic, low, custom}

esxi05.company.com dynamic                      2 {static, dynamic, low, custom}

esxi06.company.com dynamic                      2 {static, dynamic, low, custom}

esxi07.company.com dynamic                      2 {static, dynamic, low, custom}

esxi08.company.com dynamic                      2 {static, dynamic, low, custom}

esxi09.company.com dynamic                      2 {static, dynamic, low, custom}

All of the above servers are configured with a BIOS setting of Static full performance, while these results only reflect the non-used/non-available Active Policy.

One can argue if a maximum performance setting in BIOS is optimal as the turbo modes of the cpus aren't as effective for single threaded workloads, but it's usually good enough for most organizations. It's also now often specified as a requirement from many application vendors, so being able to read the Technology setting would be nice.

Lars

0 Kudos
1 Solution

Accepted Solutions
LucD
Leadership
Leadership

Does this help?

Get-VMHost | Sort | Select Name,

    @{ N="CurrentPolicy"; E={$_.ExtensionData.config.PowerSystemInfo.CurrentPolicy.ShortName}},

    @{ N="CurrentPolicyKey"; E={$_.ExtensionData.config.PowerSystemInfo.CurrentPolicy.Key}},

    @{ N="AvailablePolicies"; E={$_.ExtensionData.config.PowerSystemCapability.AvailablePolicy.ShortName}},

    @{ N='HW Support';E={$_.ExtensionData.Hardware.CpuPowerManagementInfo.HardwareSupport}}

---------------------------------------------------------------------------------------------------------

Was it helpful? Let us know by completing this short survey here.


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

View solution in original post

0 Kudos
2 Replies
LucD
Leadership
Leadership

Does this help?

Get-VMHost | Sort | Select Name,

    @{ N="CurrentPolicy"; E={$_.ExtensionData.config.PowerSystemInfo.CurrentPolicy.ShortName}},

    @{ N="CurrentPolicyKey"; E={$_.ExtensionData.config.PowerSystemInfo.CurrentPolicy.Key}},

    @{ N="AvailablePolicies"; E={$_.ExtensionData.config.PowerSystemCapability.AvailablePolicy.ShortName}},

    @{ N='HW Support';E={$_.ExtensionData.Hardware.CpuPowerManagementInfo.HardwareSupport}}

---------------------------------------------------------------------------------------------------------

Was it helpful? Let us know by completing this short survey here.


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

View solution in original post

0 Kudos
larstr
Champion
Champion

Yes, indeed!

pastedImage_0.png

Thanks again, LucD!

Lars

0 Kudos