Skip to content
/ pepc Public

Pepc - Power, Energy, and Performance Configurator

License

Notifications You must be signed in to change notification settings

intel/pepc

Table of Contents

Introduction

pepc, short for "Power, Energy, and Performance Configurator", is a command-line tool designed for reading and changing power management features. For example, pepc can be used to modify CPU or uncore frequency limits for all or a subset of CPUs, cores, modules, dies, or packages in the system.

pepc consolidates power management configuration in one tool with a consistent and convenient command-line interface instead of using various tools, such as cpupower, rdmsr, cat /sys/..., etc.

Disclaimer

This is not an official Intel product. It is an open-source tool developed by Intel engineers to facilitate power and performance configuration in Linux in lab environments. Please use it at your own risk.

Privileges

Some pepc read operations may be done without superuser privileges, some require superuser privileges (root). This depends on the specific operation and the underlying mechanism. For example, reading CPU frequency limits from sysfs does not need root, therefore pepc pstates info --min-freq can be run as a normal user. On the other hand, reading an MSR (Model Specific Register) needs superuser privileges, so something like pepc cstates info --pkg-cstate-limit needs to be run as root.

Requirements

  • pepc requires Python 3.9 or newer.
  • Many options need access to MSRs (Model Specific Registers), requiring the msr kernel driver. Ensure the msr kernel driver is available, as some Linux distributions may disable it by default.

Installation

Please refer to the Installation Guide document.

User Guide

Please refer to the User Guide document.

Man pages

Here are the manual pages for all pepc features. They are also installed along with pepc and can be accessed via the man command (e.g., man pepc-cstates).

Some features are hardware-agnostic, while others depend on specific hardware capabilities.

Helpful resources

The following articles are not directly related to pepc, but may be helpful to understand some of the features pepc manages.

FAQ

What to do if my platform is not supported?

Some pepc features (e.g., --pkg-cstate-limit) are implemented only for certain Intel platforms. This means that we verified the feature on a limited number of platforms, not that it is unsupported by other platforms. To be on the safe side, we refuse to change the underlying MSR registers on platforms we did not verify.

If pepc fails with a message like "this feature is not supported on this platform" for you, feel free to contact the authors with a request. Often this can be resolved by simply adding a CPU ID to the list of supported platforms, and you may be able to do this yourself and send a pull request.

About

Pepc - Power, Energy, and Performance Configurator

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 11