I am trying to reduce the idle power usage of a dual-Haswell-EP server made by Intel. If I enable the C-states in the UEFI-Bios, the minimum power consumption is about 80W. However, if I disable C-states in the Bios and boot the system, the minimum power usage never drops below 100W. (everything else same, same microcode, same frequencies, same Bios version)
This is surprising, because in both cases, after booting Debian, the intel_idle
driver takes over the control as reported by /sys/devices/system/cpu/cpuidle/current_driver. I do not see any reason, why the power consumption should be different? powertop
and turbostat
report the same 99.9% C6 state for all cores.
The power draw is measured via sensors
or the inbuilt BMC console.
For reasons irrelevant to this question, I would like to boot with the C-states disabled and then let the intel_idle
driver take over. Is there any other implied difference from disabling the C-states in the Bios and a way how I could achive the same minimal power consumption?
Answer
When changing C-states via BIOS, some other parameters can be automatically set to lower performance/power. For example:
- CPU performance bias can be changed
- PCI-E Active State Power Management (ASPM) can be disabled;
- other integrated component can be set at increased efficiency / lower performance.
I often saw BIOS configurig too aggressive power management settings; I generally enable any C states in the BIOS and set it to "Balanced/Optimized" or "Performance" profiles, but leaving any C/P states/transitions choice to the Linux kernel.
No comments:
Post a Comment