Provided by: powercap-utils_0.1.1-1_amd64
rapl-set - set RAPL configurations
Sets Intel Running Average Power Limit (RAPL) configurations. Since RAPL does not implement all capabilities defined in the powercap interface, only a subset of the options from powercap-set(1) are available. Additionally, the -p and -z options are different. This software requires an Intel processor (Sandy Bridge or newer), Linux kernel 3.13 or newer compiled with CONFIG_POWERCAP and CONFIG_INTEL_RAPL enabled, and the intel_rapl kernel module to be loaded.
-h, --help Prints out the help screen -p, --package=PACKAGE The package number (0 by default) -z, --subzone=SUBZONE The package subzone number (none by default) -c, --constraint=CONSTRAINT The constraint number (none by default) The following is a zone-level argument (-z/--subzone is optional): -e, --z-enabled=1|0 Enable/disable a zone The following constraint-level arguments may be used together and require -c/--constraint (-z/--subzone is optional): -l, --c-power-limit=UW Set constraint power limit -s, --c-time-window=US Set constraint time window
Note that -p/--package=0 is used by default, allowing for simpler commands on single- socket systems. rapl-set -e 1 Enable package 0 (implicitly), which is usually named package-0. rapl-set -p 0 -e 1 Enable package 0 (explicitly). rapl-set -p 0 -z 1 -e 1 Enable package 0, subzone 1, which is usually the uncore or dram subzone of package-0, depending on the system. rapl-set -p 0 -c 1 -l 25000000 Set a power cap of 25 Watts (25000000 uW) on package 0, constraint 1, which is usually the short_term constraint for package-0. rapl-set -p 1 -z 0 -c 0 -l 15000000 -s 976 Set a power cap of 15 Watts (15000000 uW) and time window of 976 microseconds on package 1, subzone 0, constraint 0, which is usually the long_term (and only) constraint for the core subzone of package-1 (a multi-socket system).
Administrative (root) privileges are usually needed to use rapl-set. Setting constraint power cap and/or time limit values does not enable or disable a package/subzone - the -e/--z-enabled flag must be set explicitly. A package is a zone with constraints. Subzones are a package's child domains, including power planes. Power units: microwatts (uW) Time units: microseconds (us)
The following are behavioral quirks due to the kernel interface or abnormalities in some hardware. They are not bugs in rapl-set and should not be reported as such. The kernel is not guaranteed to accept power limit and time window values exactly as specified. Values may be rounded due to how they are encoded in Model-Specific Registers. This rounding error is usually small within normal operating ranges, but can be significant at the extremes. Some systems may not accept time window values correctly, requiring a system reboot to reset the time window to the default value. Values returned by the kernel, e.g., by rapl-info(1), sometimes lose accuracy from the actual stored value due to integer rounding. For example, the kernel may return a time window value of 7812 us, when in fact the actual stored value is 7812.5 us. Writing back an integer value returned by the kernel may cause unexpected changes to its stored value due to these rounding problems. Some systems may not allow disabling package-level zones/constraints. It is possible for packages on multi-socket systems to be indexed out of order by the kernel. For example, the package at index 0 (-p 0) could actually be named package-1 while the package at index 1 (-p 1) is named package-0. If this matters to the user, it is their responsibility to check before setting values, e.g., using rapl-info(1). Report bugs upstream at <https://github.com/powercap/powercap>
Connor Imes <email@example.com>
rapl-info(1), powercap-info(1), powercap-set(1)