Need help with powertop?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

478 Stars 88 Forks GNU General Public License v2.0 1.1K Commits 27 Opened issues


The Linux PowerTOP tool -- please post patches to the mailing list instead of using github pull requests

Services available


Need anything else?

Contributors list


PowerTOP is a Linux* tool used to diagnose issues with power consumption and power management. In addition to being a diagnostic tool, PowerTOP also has an interactive mode you can use to experiment with various power management settings, for cases where the Linux distribution has not enabled those settings.

Build dependencies

PowerTOP is coded in C++. It was written for Linux-based operating systems. GNU* libc (

) and Linux
are needed for PowerTOP to function properly. The GNU build system (
), as well as
, are required to build PowerTOP.

In addition, PowerTOP requires the following:

  • kernel version => 2.6.38
  • ncurses-devel
  • libnl-devel
  • pciutils-devel
    (is only required if you have PCI)
  • autoconf-archive
    (for building)

Example packages to install in Ubuntu*:

sudo apt install libpci-dev libnl-3-dev libnl-genl-3-dev gettext \
libgettextpo-dev autopoint gettext libncurses5-dev libncursesw5-dev libtool-bin \
dh-autoreconf autoconf-archive pkg-config

Building PowerTOP

script needs to be run only once to generate
. You need to re-run it only if the build system configuration files (e.g.
) are modified. The remaining steps are required whenever source files are modified.

To build PowerTOP from the cloned source, use the following commands:


Running PowerTOP

The following sections go over basic operation of PowerTOP. This includes kernel configuration options (or kernel patches) needed for full functionality. Run

powertop --help
to see all options.

Kernel parameters and (optional) patches

PowerTOP needs some kernel config options enabled to function properly. As of linux-3.3.0, these are (the list probably is incomplete):


Use these configs from linux-3.13.rc1:


The patches in the

sub-directory are optional but enable full PowerTOP functionality.

Outputting a report

When PowerTOP is executed as root and without arguments, it runs in interactive mode. In this mode, PowerTOP most resembles


For generating reports, or for filing functional bug reports, there are two output modes: CSV and HTML. You can set sample times, the number of iterations, a workload over which to run PowerTOP, and whether to include

-level output.

For an HTML report, execute PowerTOP with this option:

powertop --html=report.html

This creates a static

file, suitable for sharing.

For a CSV report, execute PowerTOP with this option:

powertop --csv=report.csv

This creates a static

file, also suitable for sharing.

If you wish to file a functional bug report, generate and share a

-mode HTML report and share it, using the following command:
powertop --debug --html=report.html

Important Note: As PowerTOP is intended for privileged (

) use, your reports-- especially when run with
-- will contain verbose system information. PowerTOP does not sanitize, scrub, or otherwise anonymize its reports. Be mindful of this when sharing reports.

Developers: If you make changes to the HTML reporting code, validate HTML output by using the W3C* Markup Validation Service and the W3C CSS Validation Service: * *

Calibrating and power numbers

PowerTOP, when running on battery, tracks power consumption and activity on the system. Once there are sufficient measurements, PowerTOP can start to report power estimates for various activities. You can help increase the accuracy of the estimation by running a calibration cycle at least once:

powertop --calibrate

Calibration entails cycling through various display brightness levels (including "off"), USB device activities, and other workloads.

Extech Power Analyzer / Datalogger support

Our analysis teams use the Extech* Power Analyzer/Datalogger (model number 380803). PowerTOP supports this device over the serial cable by passing the device node on the command line using this command:

powertop --extech=/dev/ttyUSB0

(where ttyUSB0 is the devicenode of the serial-to-usb adapter on our system)

Contributing to PowerTOP and getting support

There are numerous ways you and your friends can contribute to PowerTOP. See the
document for more details. Elevator summary: "fork, and send PRs!".

We have a mailing list:

[email protected]
: * Subscribe at: * * Browse archives at: *[email protected]/

If you find bugs, you can file an issue-- see
for further details: * File bugs/wishes at: *

Code from other open source projects

PowerTOP contains some code from other open source projects; we'd like to thank the authors of those projects for their work. Specifically, PowerTOP contains code from

Parse Event Library - Copyright 2009, 2010 Red Hat Inc  Steven Rostedt 
nl80211 userspace tool - Copyright 2007, 2008   Johannes Berg 

Copyright and License

Copyright (C) 2020  Intel Corporation

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA


file for a copy of the aforementioned (GPLv2) license.


/* SPDX-License-Identifier: GPL-2.0-only */


We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.