[SOLVED] Proxmox has ACPI disabled in kernel ?

May 16, 2020
262
16
38
51
Antwerp, Belgium
commandline.be
The machine on which i have proxmox 6.2 VE installed is not constantly in use but runs at max CPU all the time. I installed acpid to have it manage CPU states properly.

When i run yacpi or acpitail i get a message suggesting ACPI is not available for this system. The BIOS has all power managed set to enabled or automatic. I provide no boot options to disable acpi. Somewhere i got the hint ACPI support was simply not compiled into the kernel ? If so, how do i make sure the system goes to lower CPU Mhz when idle and spins back up to normal speed ? No need for it to sleep, hibernate, suspend, just lower powerstates.

Using powertop i found a number of values set to BAD which i callously set to Good, which essentially writes a value to paths exposed in /proc or /sys.
 
We do not disable ACPI support at all, as you can see when checking the Kernel build config (you may need to adapt the path)
grep ACPI /boot/config-5.4.41-1-pve.

Does the kernel log mention ACPI it in your setup?
dmesg | grep -i acpi

What mainboard are you using?
 
Hmm, OK so that seems to do well.

The system doesn't uses frequency scaling as the default governor is set to "performance", which disables that. This is done for two reasons:
1. it actually gains a bit of performance as wrong scheduler decisions and frequency ramp-up periods are avoided.
2. it avoids issues with some VM operating systems which cannot cope well with frequency changes in virtualized environments, albeit that should mostly older OS versions (I didn't run any test regarding that since a long time).

You can check the current enabled one by executing as root:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

You can check which ones you have available:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
(newer desktop Intel CPUs have only performance or powersave, AMD should do better here)

To change it to on demand until the next reboot:
for cpu in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo ondemand >"$cpu"; done

See also: https://wiki.archlinux.org/index.php/CPU_frequency_scaling#Scaling_governors
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!