Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Small wrapper to use PowerTOP in Python

Project description

A wrapper to use PowerTOP easily in Python.

Also provides a command to get the results as JSON.

Install

  • install PowerTOP (e.g. sudo aptitude install powertop on Debian-based distributions)
  • sudo python3 -m pip install powertop

Short example

Run as root, in a Python 3 shell:

import powertop
import json

measures = powertop.Powertop().get_measures(time=1)

print(json.dumps(measures['Device Power Report'], indent=4))

Or, as a shell command:

sudo python3 -m powertop

Outputs:

[
    {
        "Usage": "66.4%",
        "Device Name": "CPU core"
    },
    {
        "Usage": "66.4%",
        "Device Name": "DRAM"
    },
    {
        "Usage": "66.4%",
        "Device Name": "CPU misc"
    },
    {
        "Usage": "18.8 ops/s",
        "Device Name": "GPU misc"
    },
    {
        "Usage": "18.8 ops/s",
        "Device Name": "GPU core"
    },
 ...

How to use

First, call PowerTOP:

import powertop

measures = powertop.Powertop().get_measures(time=1, iterations=1)

Sections

You can then access sections. They may vary across systems and PowerTOP versions.

On my computer, they are:

  • Top 10 Power Consumers
  • Processor Idle State Report
  • Processor Frequency Report
  • Overview of Software Power Consumers
  • Device Power Report
  • Process Device Activity
  • Software Settings in Need of Tuning
  • Untunable Software Issues
  • Optimal Tuned Software Settings

You can find yours with this command:

sudo python3 -c "import powertop; measures = powertop.Powertop().get_measures(time=1); print(measures.keys())"

Reading sections

Each section is a list JSON-like data (strings, lists and dicts).

Run sudo python3 -m powertop to get a taste of what it looks like.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for powertop, version 0.2.2
Filename, size File type Python version Upload date Hashes
Filename, size powertop-0.2.2.tar.gz (3.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page