Powertop monitors power consumption on Linux systems. Intel developed this utility to diagnose battery drain issues. The tool tracks system processes and hardware components that consume energy. It provides recommendations to improve battery life.
Run Powertop to identify power-hungry applications. The interface displays real-time consumption data. Apply suggested optimizations to extend battery runtime.
Installing Powertop
Powertop is available in official repositories across major distributions. Install the package using your distribution’s package manager.
Debian and Ubuntu
Update the package database:
$ sudo apt update
Install Powertop:
$ sudo apt install powertop
Fedora
Install Powertop using dnf:
$ sudo dnf install powertop
Arch Linux
Install from the Extra repository:
$ sudo pacman -S powertop
openSUSE
Refresh repositories and install:
$ sudo zypper refresh
$ sudo zypper install powertop
Calibrating Powertop
Calibration improves measurement accuracy. Run this process on battery power only. Powertop cycles through display brightness levels and device states during calibration.
Start calibration:
$ sudo powertop --calibrate
The calibration takes several minutes. Let the process complete without interruption.
Running Powertop
Launch Powertop in interactive mode:
$ sudo powertop
The interface uses tabs to organize information. Press Tab to move forward between tabs. Press Shift+Tab to move backward. Use arrow keys to navigate items within each tab.
Overview Tab
The Overview tab displays discharge rate and remaining battery time. Four columns organize the data:
| Column | Description |
|---|---|
| Usage | Power consumption estimate in milliseconds |
| Events/s | Wakeup frequency per second |
| Category | Component type (process, device, timer) |
| Description | Component name or identifier |
Components with high wakeup counts prevent the CPU from entering sleep states. Lower wakeup values indicate better power efficiency.
Idle Stats Tab
View processor C-states in the Idle Stats tab. Higher C-states mean deeper sleep modes. The CPU saves more power in higher C-states.
Frequency Stats Tab
This tab shows CPU frequency scaling data. P-states display current processor frequencies. Lower frequencies consume less power.
Device Stats Tab
Hardware components appear with individual power consumption estimates. Identify devices that drain battery excessively.
Tunables Tab
The Tunables tab lists kernel parameters that affect power consumption. Each parameter shows either “Good” or “Bad” status.
Toggle a parameter by selecting it and pressing Enter. Powertop writes the change to system files immediately.
--auto-tune option to apply all recommended settings automatically without manual interaction.
Automating Powertop Settings
Create a systemd service to apply Powertop recommendations at boot. This approach eliminates manual configuration after each restart.
Create the service file:
$ sudo nano /etc/systemd/system/powertop.service
Add this configuration:
[Unit]
Description=Powertop tunings
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/powertop --auto-tune
[Install]
WantedBy=multi-user.target
Enable and start the service:
$ sudo systemctl enable powertop.service
$ sudo systemctl start powertop.service
--auto-tune option may conflict with other power management tools. Test settings before enabling the service permanently.
Verify the service status:
$ sudo systemctl status powertop.service
Generating Reports
Powertop exports data in HTML and CSV formats. Reports contain the same information shown in the interactive interface.
HTML Reports
Generate an HTML report:
$ sudo powertop --html=report.html
The default filename is powertop.html when no name is specified. Open the file in a web browser to view formatted data.
CSV Reports
Create a CSV file for spreadsheet analysis:
$ sudo powertop --csv=data.csv
The default filename is powertop.csv. Import the file into spreadsheet applications for further analysis.
Understanding Power Estimates
Power estimates appear after Powertop collects sufficient measurement data. Run Powertop for approximately one hour to generate estimates. The tool requires at least 270 measurements before displaying consumption values.
Estimates show how much power each component consumes. These values help identify the largest sources of battery drain.
Interpreting Wakeup Events
Wakeups prevent the CPU from staying in low-power sleep states. Each wakeup forces the processor to return to active mode briefly.
Processes with high wakeup counts drain batteries faster. Review the Events/s column to find problematic applications. Consider closing or reconfiguring applications that generate excessive wakeups.
Kernel Configuration Requirements
Powertop requires specific kernel features for full functionality. Most distributions enable these options by default. Verify your kernel configuration if Powertop reports missing features.
Required kernel options include:
CONFIG_NO_HZCONFIG_HIGH_RES_TIMERSCONFIG_CPU_FREQ_GOV_ONDEMANDCONFIG_PERF_EVENTSCONFIG_DEBUG_FS
Check your current kernel configuration in /boot/config-$(uname -r).
FAQs
Powertop monitors power consumption and identifies processes that drain battery. It provides optimization recommendations to extend battery life on Linux systems.
Run sudo powertop --calibrate on battery power. The process cycles through display and device states. Do not interact with the machine during calibration.
Yes. Use sudo powertop --auto-tune to apply all recommendations. Create a systemd service to automate settings at boot time for persistent optimization.
High wakeup events prevent CPU sleep states. Applications polling frequently or background processes cause excessive wakeups. Review the Events/s column to identify problematic processes.
Powertop requires approximately one hour and 270 measurements to display power estimates. Run the tool on battery power for accurate consumption data.