Linux is great for so many reasons. Battery life is not one of them. Most users, with every new isntall, one of the first thing they install is TLP and/or Powertop. Tools like these definitely help with extending the battery life but they also come with their own set of problems. Like losing turbo boost.
Here’s where cpu-freq comes in. A simple tool which will automatically make “cpufreq” related changes, save battery like TLP, but let Linux kernel do most of the heavy lifting.
- Basic system information
- CPU frequency
- CPU temperatures
- Battery state
- System load
- CPU frequency scaling, governor and turbo boost management based on
- battery state
- CPU usage
- System load
- Automatic CPU & power optimization (temporary and persistent)
currently auto-cpufreq works with Intel CPUs only. AMD support is being worked on. The recently released update, v1.2, brings AMD support.
NOTE: There are no conflicts with TLP. auto-cpufreq works alongside TLP. However, from experience, there are no real benfits in running both TLP and auto-cpu freq. Unless you have a Thinkpad laptop and you want to set the stop charging threshold via TLP-UI.
- via snap store, or command line with
sudo snap install auto-cpufreq( NOTE: snap version version must be >= 2.44 for auto-cpufreq to fully work )
- auto-cpufreq is available in the AUR
- Install from source code :
git clone https://github.com/AdnanHodzic/auto-cpufreq.git
cd auto-cpufreq && sudo ./auto-cpufreq-installer
1. Monitor – No changes are made to the system, and is solely made for demonstration purposes what auto-cpufreq could do differently for your system.
sudo auto-cpufreq --monitor
2. Live – Necessary changes are temporarily made to the system which are lost with system reboot. This mode is made to evaluate what the system would behave with auto-cpufreq permanently running on the system.
sudo auto-cpufreq --live
3. Install auto-cpufreq daemon – Necessary changes are made to the system for auto-cpufreq CPU optimizaton to persist across reboots. Daemon is deployed and then started as a systemd service. Changes are made automatically and live log is made for monitoring purposes.
sudo auto-cpufreq --install.
After daemon is installed,
auto-cpufreq is available as a binary and is running in the background. Its logs can be viewed by running:
Since daemon is running as a systemd service, its status can be seen by running:
systemctl status auto-cpufreq
4. Log – If daemon has been instaled, live log of CPU/system load monitoring and optimizaiton can be seen by running:
5. Remove – auto-cpufreq daemon and its systemd service, along with all its persistent changes can be removed by running:
sudo auto-cpufreq --remove
auto-cpufreq source code can be found on Github. Check out a video demonstranting how the tool works below. The embed is a nocookie YouTube embed. If you don’t want to use YouTube, check out the video on Invidio.us.