cpufreq: governor not found or failed

CPU Frequency Scaling Governor Not Working Fix

Linux & Unix Intermediate 👁 15 views 📅 Jun 21, 2026

Your CPU governor isn't sticking or throws an error. Here's the real fix for missing scaling governors on Linux.

Quick answer: Check if your CPU driver is loaded with cpupower frequency-info. If no governors show up, load the right kernel module or switch the driver. Most broken governor issues come from missing acpi-cpufreq or intel_pstate.

I had a client last month whose server was running hot and loud for no reason. They'd set the governor to 'powersave' but the CPU still ran at max frequency. Turns out the scaling driver wasn't even active. Linux has two main CPU drivers: intel_pstate (for newer Intel CPUs) and acpi-cpufreq (for older Intel and most AMD). If neither is loaded, you can't control frequency at all. The kernel might fall back to a dummy driver that does nothing. Let me walk you through the fix step by step.

1. Identify Your CPU Driver

First, run this command to see what's going on:

cpupower frequency-info

Look for the line that says 'driver'. If it says 'intel_pstate' or 'acpi-cpufreq', you're in luck. If you see 'none' or 'unknown', the kernel module isn't loaded. If your output shows 'no or unknown cpufreq driver is active on this CPU', that's the problem.

Sometimes cpupower isn't installed. On Ubuntu/Debian, run sudo apt install linux-tools-common linux-tools-$(uname -r). On RHEL/Fedora, it's sudo dnf install kernel-tools.

2. Load the Correct Kernel Module

For older Intel CPUs (before Sandy Bridge, roughly 2011) and most AMD CPUs, you need acpi-cpufreq. Load it:

sudo modprobe acpi-cpufreq

For newer Intel CPUs with intel_pstate, it should load automatically. If not, check kernel boot parameters (more on that later).

After loading the module, check again:

cpupower frequency-info

You should now see a driver listed. If not, there's a deeper issue — maybe your CPU doesn't support frequency scaling at all (unlikely on any x86 from the last 15 years).

3. Set the Governor

Now you can set your desired governor. Common ones: 'performance' (max speed, hot), 'powersave' (lowest speed, cool), 'ondemand' (idle low, ramp up fast). For power saving:

sudo cpupower frequency-set -g powersave

Verify it stuck:

cpupower frequency-info

Look for 'current policy: governor' — it should show your choice. If it reverts back, something's overriding it (like systemd or TLP).

4. Make It Permanent

Don't just set it once. Create a systemd service or use a tool like cpufrequtils. For cpufrequtils (Ubuntu/Debian):

sudo apt install cpufrequtils
sudo nano /etc/default/cpufrequtils

Add this line:

GOVERNOR="powersave"

Then enable the service:

sudo systemctl enable cpufrequtils

On RHEL/Fedora, use tuned instead: sudo tuned-adm profile powersave.

Alternative Fixes If the Main One Fails

If you get 'governor not found': Your kernel might not have the governor module built in. Check with ls /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors. If 'performance' isn't there, you're stuck with a limited set. Try loading the cpufreq_* modules manually:

sudo modprobe cpufreq_performance
sudo modprobe cpufreq_powersave
sudo modprobe cpufreq_ondemand

If your Intel CPU uses intel_pstate and it only shows 'performance' and 'powersave': That's normal. intel_pstate doesn't support 'ondemand' or 'conservative'. If you really want those, you can force the older acpi-cpufreq driver by adding intel_pstate=disable to your kernel boot parameters in /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=disable"

Then run sudo update-grub and reboot. After that, load acpi-cpufreq as before.

If the governor keeps resetting: Check for services like thermald, power-profiles-daemon, or TLP. They fight for control. Disable the ones you don't need:

sudo systemctl stop tlp
sudo systemctl disable tlp

Prevention Tip

Never assume the default governor is what you want. Most distros set 'ondemand' or 'powersave', but if your BIOS overrides something (like 'performance' for server stability), you'll waste power. Check your BIOS for 'Intel SpeedStep' or 'AMD Cool'n'Quiet' — make sure they're enabled for frequency scaling to work. Also, keep your kernel up to date, because old kernels sometimes drop CPU driver support for newer CPUs.

One more thing: if you're on a laptop, the battery icon's power profile might override your manual settings. I've seen that annoy more people than kernel bugs. Use something like powertop to see what's actually controlling the CPU.

Was this solution helpful?