Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE SUGGESTION] CPU Governor #8

Closed
BadCo-NZ opened this issue Feb 16, 2022 · 7 comments
Closed

[FEATURE SUGGESTION] CPU Governor #8

BadCo-NZ opened this issue Feb 16, 2022 · 7 comments

Comments

@BadCo-NZ
Copy link
Contributor

Hi, I recently setup a second node and came across a few things that might be useful to add to the Toolbox

Third up, is CPU governor.

I generally change this to ondemand on a new install which reduces power consumption but doesn't seem to affect performance.

I do this with the below command:

# echo "ondemand" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

Then add a cron job to run at each boot:

crontab -e
@reboot echo "ondemand" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor >/dev/null 2>&1
@Tontonjo
Copy link
Owner

Thanks for your suggestion again.

I dont know much about governors, but I'm not much into playing with them on an hypervisor appart if this is part of any official recommandations, documentations, or documented and proved to be reliable without any side effects at all.

What consumption reduction did you experienced? is it really worth-it?

Do you have any proof of work link or tests?
Does this have been extensively tested?

@BadCo-NZ
Copy link
Contributor Author

BadCo-NZ commented Feb 16, 2022

Hi @Tontonjo,

I originally dug into this when I was first using Proxmox, so I was going off my own documentation. However, I have re-dug and got some results for you.

My system:

Supermicro x10DRG-HT
2x E5-2620v3 85w TDP
8x 8GB Memory
6x SSDs
2x 80mm fans at low RPM
2x 60mm fans at low RPM

With CPU governor set at performance the frequency sits around 3.05Ghz and power draw read from IPMI is 144w.

root@hard1 ~# cpupower frequency-info
analyzing CPU 0:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 20.0 us
  hardware limits: 1.20 GHz - 3.20 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 1.20 GHz and 3.20 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 3.05 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes

With CPU governor set at ondemand the frequency sits around 1.29Ghz and power draw from IPMI is 117w.

root@hard1 ~# cpupower frequency-info
analyzing CPU 0:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 20.0 us
  hardware limits: 1.20 GHz - 3.20 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 1.20 GHz and 3.20 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 1.29 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes

Also, powersave gets me 1.20Ghz and 109w, conservative is 1.20Ghz and 123w. There is definitely some power savings to be had and could be up to 35w on my system and this is only with 85w TDP CPUs. Imagine the savings with 145w TDP CPUs!

Resources

https://wiki.archlinux.org/title/CPU_frequency_scaling#cpupower
https://wiki.archlinux.org/title/CPU_frequency_scaling#cpupower
https://forum.proxmox.com/threads/fix-always-high-cpu-frequency-in-proxmox-host.84270/
https://old.reddit.com/r/homelab/comments/bltm26/proxmox_power_usagemanagement_still_no_cpu_scaling/
https://community.home-assistant.io/t/psa-how-to-configure-proxmox-for-lower-power-usage/323731

@Tontonjo
Copy link
Owner

Tontonjo commented Feb 16, 2022

Thanks for this - looks interesting for home setups!
I never though about this.

EDIT: just tested on my system - looking promising:
S-tui:
package power with Performance: env. +30w @ 3.5 Ghz
package power with ondemand: env. +28w @ 2.3 Ghz

@Tontonjo
Copy link
Owner

Hello!

After some testings on some systems, this does not looks to ba a game changer but it may be interesting for some people - Will add this in my Proxmox commands.md.

@BadCo-NZ
Copy link
Contributor Author

Hello!

After some testings on some systems, this does not looks to ba a game changer but it may be interesting for some people - Will add this in my Proxmox commands.md.

Thanks for looking into :)

@BadCo-NZ
Copy link
Contributor Author

For others who come across this, check out this script.

https://github.com/tteck/Proxmox/raw/main/misc/scaling-governor.sh

@Tontonjo
Copy link
Owner

Tontonjo commented Oct 24, 2022

For others who come across this, check out this script.

https://github.com/tteck/Proxmox/raw/main/misc/scaling-governor.sh

Hello!
For your information i've make a "tuto" about this who came out yesterday. As there's some kind of energy crysis here i though it may interest people to save some watts and some penny.
https://www.youtube.com/watch?v=loV6v--95lA

I also updated the Proxmox commands guide here with thoses new informations:
https://github.com/Tontonjo/proxmox

PS: It does not looks like this script can make sure the selected CPU gouvernor is applied after a reboot. is it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants