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.
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 |