This tutorial shows how to disable certain CPU cores in Ubuntu to save power and prevent your machine from overheating.
There are a few tools to manage CPU frequency and save power in Linux today. They include power-profile-daemon (Gnome built-in power mode settings), TLP laptop battery life saving tool, auto-cpufreq, and more.
Besides limiting CPU frequency, turn off few CPU cores is another choice to cool down your PC or laptop. And, Motherboard BIOS settings page usually have a corresponding option. For choice, here’s how to do the job in Ubuntu Linux.
power-profiles-daemon, the power mode settings backend in Gnome, released 0.20 today!
The new release added amdgpu panel power savings which uses dedicated hardware in systems with integrated Radeon graphics to decrease panel power consumption when the system is on battery.
This activates the DRM connector attribute panel_power_savings which takes a range from 0 to 4 to indicate how aggressively to enable panel power savings.
This simple tutorial shows how to switch CPU power mode between ‘Performance’, ‘Balanced’, and ‘Power Saver’ using Linux command in Ubuntu 22.04, Ubuntu 23.10, and Ubuntu 24.04.
GNOME has options in both ‘Settings’ and top-right system status menu to change CPU frequency by switching between ‘Performance’, ‘Balanced’, and ‘Power Saver’.
It’s useful for saving battery life while being able to get better performance when gaming or doing heavy work.
For users who want to bind the options to keyboard shortcuts, or make the function into script or even application, here’s the single command to switch the power mode.
Single command to change Power Mode in Ubuntu
NOTE: This tutorial is only tested in Ubuntu (GNOME ONLY) with Intel CPU, though it should also work in Fedora workstation and Debian 12 with GNOME desktop.
The power mode setting option is handled by the power-profiles-daemon. It has a command line tool powerprofilesctl to check current and switch power profile.
To switch power mode to ‘power-saver’ for example, just press Ctrl+Alt+T on keyboard to open terminal and run command:
powerprofilesctl set power-saver
In command, replace power-saver with balanced or performance as you want.
After making change, verify by running command:
powerprofilesctl
In the output, the one with an asterisk ‘*’ in the beginning is the power profile currently in use.
For those who want to do the job through D-Bus interface, run the single command below instead:
Also, change power-saver in command with balanced or performance as need.
View CPU Speed / frequency in Real Time
As mentioned, you can verify CPU power mode by simply running powerprofilesctl command.
For choice, you may also see CPU frequency (aka clock speed) in real-time by running command in terminal:
watch -n 1 "grep \"^[c]pu MHz\" /proc/cpuinfo"
It will show you the speed for all CPU cores, and update every 1 second. As you want, you may replace number 1 in seconds (e.g., 2 for 2 s, or 0.5 for 500 ms).