Alvin's Notebook

CPU governors on an always-on home server: measured, not guessed

2025-05-11 · linuxhardware

The little server that hosts most of my services runs a single core, which makes every watt visible on the electricity meter. I spent two weeks measuring CPU governors properly instead of copying someone's sysctl pastebin.

Setup: same week, three governors, same workload mix of TLS terminations, gzip and the nightly backup. Metered wall power, plus latency probes every five minutes.

for g in powersave schedutil performance; do
  echo $g > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
  sleep 86400  # one day each
  # meters, probes, patience
done

Results: performance cost about 3W more at idle and bought nothing for the latency probes, because the box is idle 99% of the day and ramps up fine on demand with schedutil. The one workload where the choice mattered was the nightly backup: performance shaved four minutes off, which is noise.

Verdict: schedutil, and the difference shows up on the meter every single month. Small numbers, but they compound in exactly the way server bills do not.