On a small form factor PC with an i5-9500, Debian 12, 6.2.16 kernel, running Proxmox, powertop
shows the following idle stats:
PowerTOP 2.14 Overview Idle stats Frequency stats Device stats Tunables WakeUp
Pkg(HW) | Core(HW) | CPU(OS) 0
| | C0 active 2.8%
| | POLL 0.0% 0.0 ms
| | C1 1.1% 0.4 ms
C2 (pc2) 7.2% | |
C3 (pc3) 5.5% | C3 (cc3) 0.0% | C3 0.1% 0.1 ms
C6 (pc6) 1.5% | C6 (cc6) 1.9% | C6 2.2% 0.6 ms
C7 (pc7) 75.2% | C7 (cc7) 92.8% | C7s 0.0% 0.0 ms
C8 (pc8) 0.0% | | C8 21.5% 2.5 ms
C9 (pc9) 0.0% | | C9 0.0% 0.0 ms
C10 (pc10) 0.0% | |
| | C10 72.8% 12.5 ms
| | C1E 0.4% 0.2 ms
| Core(HW) | CPU(OS) 1
| | C0 active 1.4%
| | POLL 0.0% 0.0 ms
| | C1 0.7% 0.9 ms
| |
| C3 (cc3) 0.1% | C3 0.1% 0.2 ms
| C6 (cc6) 1.0% | C6 1.1% 0.8 ms
| C7 (cc7) 96.3% | C7s 0.0% 0.0 ms
| | C8 18.9% 2.9 ms
| | C9 0.0% 0.0 ms
| |
| | C10 78.3% 24.8 ms
| | C1E 0.0% 0.0 ms
...
On a custom-built server with an i5-13500, Asus Pro WS W680M-ACE SE motherboard, Unraid (which uses Slackware), 6.1.38 kernel, it shows the following output:
PowerTOP 2.15 Overview Idle stats Frequency stats Device stats Tunables WakeUp
Pkg(HW) | Core(HW) | CPU(OS) 0 CPU(OS) 1
| | C0 active 5.9% 0.9%
| | POLL 0.1% 0.0 ms 0.0% 0.0 ms
| | C1_ACPI 14.2% 0.2 ms 1.0% 0.1 ms
C2 (pc2) 0.0% | | C2_ACPI 39.2% 0.8 ms 27.0% 0.9 ms
C3 (pc3) 0.0% | C3 (cc3) 0.0% | C3_ACPI 33.6% 1.2 ms 69.7% 3.0 ms
C6 (pc6) 0.0% | C6 (cc6) 1.1% |
C7 (pc7) 0.0% | C7 (cc7) 0.0% |
C8 (pc8) 0.0% | |
C9 (pc9) 0.0% | |
C10 (pc10) 0.0% | |
| Core(HW) | CPU(OS) 2 CPU(OS) 3
| | C0 active 10.4% 0.5%
| | POLL 0.0% 0.0 ms 0.0% 0.0 ms
| | C1_ACPI 17.4% 0.2 ms 0.4% 0.2 ms
| | C2_ACPI 14.3% 0.8 ms 4.9% 0.6 ms
| C3 (cc3) 0.0% | C3_ACPI 41.8% 5.4 ms 93.5% 5.5 ms
| C6 (cc6) 5.9% |
| C7 (cc7) 26.7% |
| |
| |
| |
| Core(HW) | CPU(OS) 4 CPU(OS) 5
| | C0 active 11.7% 0.2%
| | POLL 0.0% 0.1 ms 0.0% 0.0 ms
| | C1_ACPI 19.0% 0.1 ms 0.0% 0.0 ms
| | C2_ACPI 11.3% 0.7 ms 0.0% 0.0 ms
| C3 (cc3) 0.0% | C3_ACPI 39.6% 7.7 ms 99.6% 7.0 ms
| C6 (cc6) 1.3% |
| C7 (cc7) 25.4% |
...
Both systems have C-states enabled in the BIOS.
I have a few questions I’m hoping someone can help with:
- Why does the older system show more C-states in the right-most “CPU(OS)” column?
- What does it mean when they’re suffixed with “_ACPI” like in the output from the new system?
- How do I debug the new system not hitting any CPU package C-states?
I can’t find any documentation about this, neither on the man page nor on Intel’s site (the official powertop URL https://01.org/powertop doesn’t go anywhere useful any more).
Thanks!
It might be that the newer system has a piece of hardware that secretly blocks out higher C-states. I had that with Intel VST/Raid on my Raptor Lake Laptop. That’s probably not so big a deal on a server that you were never going to fold closed and tuck in a backpack.
I want to save power on my server too! I’ve got solar power, but saving power on my servers means I can use that power for other things.
This is the reply I got from the maintainer of powertop about the output from the new system (https://github.com/fenrus75/powertop/issues/140):
it means your kernel does not have intel_idle support for your CPU … which is unusually unless you’re running an older kernel on newer hardware
needs some more investigation I guess.