Skip to content

Linux Power Management

Mattscreative edited this page Dec 5, 2025 · 2 revisions

Linux Power Management Guide

Complete beginner-friendly guide to power management on Linux, covering Arch Linux, CachyOS, and other distributions including laptop battery optimization, CPU frequency scaling, power saving, and TLP configuration.


Table of Contents

  1. Understanding Power Management
  2. CPU Frequency Scaling
  3. Laptop Battery Optimization
  4. TLP Configuration
  5. Power Profiles
  6. Suspend and Hibernate
  7. Power Monitoring
  8. Troubleshooting

Understanding Power Management

What is Power Management?

Power management controls how system uses power.

What it does:

  • Battery life: Extends laptop battery life
  • Performance: Balances performance and power
  • Heat management: Reduces heat generation
  • Efficiency: Improves power efficiency

Why it matters:

  • Laptops: Extends battery life
  • Desktops: Reduces power consumption
  • Heat: Reduces system heat
  • Cost: Saves electricity

CPU Frequency Scaling

Install cpupower

Install tools:

# Arch/CachyOS
sudo pacman -S cpupower

# Debian/Ubuntu
sudo apt install linux-cpupower

# Fedora
sudo dnf install kernel-tools

CPU Governors

Available governors:

  • performance: Maximum performance
  • powersave: Maximum power saving
  • ondemand: Dynamic scaling
  • conservative: Gradual scaling
  • schedutil: Scheduler-based (default on modern kernels)

Set Governor

Change governor:

# Set performance
sudo cpupower frequency-set -g performance

# Set powersave
sudo cpupower frequency-set -g powersave

# Set ondemand
sudo cpupower frequency-set -g ondemand

Enable at Boot

Persist settings:

# Create service
sudo systemctl enable cpupower.service

# Or use systemd
sudo systemctl enable cpupower

Laptop Battery Optimization

Check Battery Status

Check battery:

# Using upower
upower -i /org/freedesktop/UPower/devices/battery_BAT0

# Or simple check
cat /sys/class/power_supply/BAT0/capacity

Install TLP

Install TLP:

# Arch/CachyOS
sudo pacman -S tlp tlp-rdw

# Debian/Ubuntu
sudo apt install tlp tlp-rdw

# Fedora
sudo dnf install tlp tlp-rdw

Enable service:

sudo systemctl enable --now tlp.service

What TLP does:

  • Automatically optimizes power settings
  • CPU frequency scaling
  • GPU power management
  • Wi-Fi/Bluetooth power
  • USB autosuspend

TLP Configuration

Configure TLP:

# Edit config
sudo vim /etc/tlp.conf

Common settings:

# CPU scaling
CPU_SCALING_GOVERNOR_ON_AC=performance
CPU_SCALING_GOVERNOR_ON_BAT=powersave

# GPU power
RADEON_POWER_PROFILE_ON_AC=high
RADEON_POWER_PROFILE_ON_BAT=low

# Wi-Fi power
WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=on

Power Profiles

power-profiles-daemon

Install power profiles:

# Arch/CachyOS
sudo pacman -S power-profiles-daemon

# Debian/Ubuntu
sudo apt install power-profiles-daemon

# Fedora
sudo dnf install power-profiles-daemon

Use profiles:

# Set profile
powerprofilesctl set balanced
powerprofilesctl set performance
powerprofilesctl set power-saver

# Check current
powerprofilesctl get

Suspend and Hibernate

Suspend

Suspend system:

# Suspend
systemctl suspend

# Or from desktop
# Usually in power menu

Hibernate

Hibernate system:

# Hibernate
systemctl hibernate

# Or from desktop

Configure hibernate:

# Edit config
sudo vim /etc/systemd/sleep.conf

Power Monitoring

Monitor Power

Check power usage:

# Install tools
sudo pacman -S powertop

# Run powertop
sudo powertop

Battery Health

Check battery health:

# Check battery info
upower -i /org/freedesktop/UPower/devices/battery_BAT0

# Check cycles
cat /sys/class/power_supply/BAT0/cycle_count

Troubleshooting

Battery Not Detected

Check battery:

# Check if detected
ls /sys/class/power_supply/

# Check kernel messages
dmesg | grep -i battery

Power Settings Not Working

Check services:

# Check TLP
systemctl status tlp

# Check cpupower
systemctl status cpupower

Summary

This guide covered power management for Arch Linux, CachyOS, and other distributions, including CPU scaling, battery optimization, TLP, and power monitoring.


Next Steps


This guide covers Arch Linux, CachyOS, and other Linux distributions. For distribution-specific details, refer to your distribution's documentation.

Clone this wiki locally