What is the best way to save power when using a semi-high frequency/TDP CPU?

mmotti

New Member
Nov 6, 2022
1
0
1
Hi,

I'm completely new Proxmox / OPNsense and generally anything outside of Windows.

I purchased a HP Prodesk 400 G6 (i3-9100) as it was extremely cheap and the CPU is 3.6GHz base / 4.20 GHz boost with a TDP of 65W. Not ideal for my use case but I didn't really want to spend the extra on a micro appliance for now.

All that's being run with Proxmox currently is OPNsense and a Ubuntu Server container for my Unifi Controller although I may look to expand in future with things like Home Assistant.

OPNsense is currently supporting a 70/20 PPPoE connection however this will be upgrading to FTTH 300/300+ in the near future. Unsure of whether the FTTH will use PPPoE yet. I only mention this specifically as I know clock speed can matter with PPPoE/FreeBSD.

Things I have done / tried so far:
  • Disable boost in the BIOS
  • Enable PowerD and use Adaptive mode in OPNsense
  • Set a CPU limit of 0.72 in Proxmox (though this didn't seem to have much affect on power usage, so back to unlimited)
  • Set the "powersave" scaling governor on the Proxmox host with Cron
    • @reboot echo "powersave" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor >/dev/null 2>&1
  • Set the max frequency on the Proxmox host to something much below the CPU base frequency with Cron
    • @reboot echo 2200000 | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq >/dev/null 2>&1
So far I have observed a fairly considerable difference power-wise with little to no affect on internet speed:
  • Idle: No change > 8-11W
  • During speed test: 22-25W > 15-17W
  • During speed test and tunnelling through WireGuard to Mullvad: 25W-30W > ~18W
Is there anything more I can do here or am I along the right lines? Also is there any reason as to why I would not want to limit the CPU clock speed with scaling_max_freq?

Cheers!
 
Hi, I know this is something from 2022 but somehow may be useful for anyone.

Try to use cpupower and set the "powersave" profile + adjust the perf bias to another value, I've set a couple of fanless mini PCs to 12 and it lowered the overall power comsumption + heat

Set an entry into cron with @reboot and you will get it working every time :)