ProcPower: Measuring energy consumption directly in the Linux kernel
- Environment/Sustainability
- System Software
- Class 01
About the project
Team Members
Geerd-Dietger Hoffmann
License
AGPL 3.0
Funding Period
In funding since 01/06/2025
What is the project about?
The rising energy consumption in data centers contributes significantly to greenhouse gas emissions and climate change. The rapid growth of the software sector amplifies this problem, as complex applications require more computing resources. In conventional performance optimization, energy efficiency is often overlooked because there are no accessible, granular tools for measuring performance. ProcPower aims to develop a kernel extension for Linux to measure the energy footprint at the process level. This will provide the necessary data basis for reducing power consumption and thus the environmental impact of code.
Which audience does the project address?
The target audience includes software developers, system administrators, and cloud providers seeking to optimize and expose energy values. Developers can integrate real-time energy metrics into their workflows to identify power-hungry processes and optimize code. System administrators gain insights into server and container energy consumption, enabling more efficient resource allocation.
What is to be achieved?
ProcPower is a secure kernel module using kprobes to gather process-level data. This data will be processed by a configurable Linux Energy Estimation Engine (L3E) within the kernel space to calculate an energy footprint value for each process. The calculated values will be made accessible through the /proc filesystem, enabling containerized environments to expose this data to all users on the system. Also on self hosted environments this value can easily be accessed by any process. This enables programs like Nextcloud, Django, etc to show their energy footprint in the dashboard.