# auto-cpufreq

> Linux CPU speed and power optimizer that adjusts governor and turbo boost based on battery state, CPU load and temperature. Includes CLI, daemon and GUI.

Stars: 7.9k · Language: Python · License: GPL-3.0 · Categories: System

- Repository: https://github.com/AdnanHodzic/auto-cpufreq
- Website: https://foolcontrol.org/?p=4603
- Page: https://www.trmn.sh/tools/auto-cpufreq

## Install

- Snap: `sudo snap install auto-cpufreq`
- Source installer: `git clone https://github.com/AdnanHodzic/auto-cpufreq.git`
- Source installer: `cd auto-cpufreq && sudo ./auto-cpufreq-installer`

## Overview

auto-cpufreq is a CPU frequency and power optimizer for Linux laptops. It monitors battery state, CPU usage (total and per core), CPU temperature and system load, and uses these readings to set the CPU frequency scaling governor and turbo boost, with the aim of extending battery life. It leaves most of the work to the Linux kernel instead of imposing its own power policy. The README positions it as a replacement for TLP, and recommends removing TLP after installing it, since running both to set CPU frequencies can cause overheating. thermald can run alongside it without conflict.

It works through a CLI with several modes: monitor (read-only), live (applies settings temporarily while showing output), and `--stats`, which shows what the daemon is doing. Installing the daemon makes the optimizations persistent. Overrides are available through `--force` for the governor and `--turbo` for turbo mode, and a config file allows separate charger and battery settings. A GUI is available from v2.0 onward, except on Snap installs. Other features include Intel HWP Dynamic Boost, Platform Profile monitoring and configuration where the platform driver exposes it, Bluetooth boot on/off options, and battery charging thresholds, which have limited device support.

It supports devices with Intel, AMD or ARM CPUs. It is written for laptops, but the README says running it on desktops or servers to lower power consumption should also be possible. Typical users are Linux laptop owners who want automatic power management without tuning governors by hand. Source installation uses an installer script that handles Debian/Ubuntu, Fedora/RHEL, Arch, openSUSE, Void and Solus families. Snap, AUR and NixOS packages are also available.

### Installation

```bash
# via Snap
sudo snap install auto-cpufreq
```

```bash
# via Source installer
git clone https://github.com/AdnanHodzic/auto-cpufreq.git
cd auto-cpufreq && sudo ./auto-cpufreq-installer
```

![Example of auto-cpufreq CLI output](https://media.trmn.sh/cached/eafbf6155ecbdcd7e4bd1713af510a958bcf252a7d00e9f544c107f2ea972c84.png)

![Example of auto-cpufreq GUI](https://media.trmn.sh/cached/8c13140888fa211f4950ae2ab4c751b5f77c7670563884c9228b6d21e515b02e.png)

## Alternatives

- [nvitop](https://www.trmn.sh/tools/nvitop.md): Interactive NVIDIA GPU and process monitor in Python with tree view, filtering, signal sending, a CUDA device selector (nvisel), and APIs for custom tools. (Python, 7.2k stars)
- [bpytop](https://www.trmn.sh/tools/bpytop.md): Terminal-based system resource monitor showing CPU, memory, disk, network and process usage with interactive interface (Python, 10.9k stars)
- [BorgBackup](https://www.trmn.sh/tools/borg.md): Deduplicating backup program with optional compression and authenticated encryption, supporting ssh, sftp, s3, b2 and rclone targets, and mountable archives. (Python, 13.9k stars)
- [tuptime](https://www.trmn.sh/tools/tuptime.md): System uptime tracking tool that preserves historical uptime/downtime statistics across reboots with detailed reporting (Python, 317 stars)
- [glances](https://www.trmn.sh/tools/glances.md): Cross-platform system monitoring tool with real-time stats display via terminal, web interface, or API (Python, 33.9k stars)

---

Canonical: https://www.trmn.sh/tools/auto-cpufreq
