1PEPC(1) Generated Python Manual PEPC(1)
2
3
4
6 pepc
7
9 pepc [-h] [-q] [-d] [--version] [-H HOSTNAME] [-U USERNAME] [-K
10 PRIVKEY] [-T TIMEOUT] [-D DATASET] [--force-color] {cpu-hot‐
11 plug,cstates,pstates,aspm,topology} ...
12
14 pepc - Power, Energy, and Performance Configuration tool for Linux.
15
16
18 -h Show this help message and exit.
19
20
21 -q Be quiet.
22
23
24 -d Print debugging information.
25
26
27 --version
28 Print version and exit.
29
30
31 -H HOSTNAME, --host HOSTNAME
32 Name of the host to run the command on.
33
34
35 -U USERNAME, --username USERNAME
36 Name of the user to use for logging into the remote host over
37 SSH. The default user name is 'root'.
38
39
40 -K PRIVKEY, --priv-key PRIVKEY
41 Path to the private SSH key that should be used for logging into
42 the remote host. By default the key is automatically found from
43 standard paths like '~/.ssh'.
44
45
46 -T TIMEOUT, --timeout TIMEOUT
47 SSH connect timeout in seconds, default is 8.
48
49
50 -D DATASET, --dataset DATASET
51 This option is for debugging and testing purposes only, it de‐
52 fines the dataset that will be used to emulate a host for run‐
53 ning the command on. Please, specify dataset path or name. In
54 the latter case, it will be searched for in the following loca‐
55 tions: /home/abityuts/powerlab/git/pepc/pepctool/tests/data,
56 $PEPC_DATA_PATH/tests/data, $HOME/.local/share/pepc/tests/data,
57 /usr/local/share/pepc/tests/data, /usr/share/pepc/tests/data.
58 Use 'all' to specify all available datasets.
59
60
61 --force-color
62 Force coloring of the text output.
63
64
66 pepc cpu-hotplug
67 CPU online/offline commands.
68
69 pepc cstates
70 CPU C-state commands.
71
72 pepc pstates
73 P-state commands.
74
75 pepc aspm
76 PCI ASPM commands.
77
78 pepc topology
79 CPU topology commands.
80
81
83 usage: pepc cpu-hotplug [-h] [-q] [-d] {info,online,offline} ...
84
85 CPU online/offline commands.
86
87
89 -h Show this help message and exit.
90
91
92 -q Be quiet.
93
94
95 -d Print debugging information.
96
97
99 pepc cpu-hotplug info
100 List online and offline CPUs.
101
102 pepc cpu-hotplug online
103 Bring CPUs online.
104
105 pepc cpu-hotplug offline
106 Bring CPUs offline.
107
108
110 usage: pepc cpu-hotplug info [-h] [-q] [-d]
111
112 List online and offline CPUs.
113
114
116 -h Show this help message and exit.
117
118
119 -q Be quiet.
120
121
122 -d Print debugging information.
123
124
126 usage: pepc cpu-hotplug online [-h] [-q] [-d] [--cpus CPUS]
127
128 Bring CPUs online.
129
130
132 -h Show this help message and exit.
133
134
135 -q Be quiet.
136
137
138 -d Print debugging information.
139
140
141 --cpus CPUS
142 List of CPUs to online. The list can include individual CPU num‐
143 bers and CPU number ranges. For example, '1-4,7,8,10-12' would
144 mean CPUs 1 to 4, CPUs 7, 8, and 10 to 12. Use the special key‐
145 word 'all' to specify all CPUs.
146
147
149 usage: pepc cpu-hotplug offline [-h] [-q] [-d] [--cpus CPUS] [--cores
150 CORES] [--packages PACKAGES] [--core-siblings CORE_SIBLINGS]
151
152 Bring CPUs offline.
153
154
156 -h Show this help message and exit.
157
158
159 -q Be quiet.
160
161
162 -d Print debugging information.
163
164
165 --cpus CPUS
166 List of CPUs to offline. The list can include individual CPU
167 numbers and CPU number ranges. For example, '1-4,7,8,10-12'
168 would mean CPUs 1 to 4, CPUs 7, 8, and 10 to 12. Use the special
169 keyword 'all' to specify all CPUs. If the CPUs/cores/packages
170 were not specified, all CPUs will be used as the default value.
171
172
173 --cores CORES
174 List of cores to offline. The list can include individual core
175 numbers and core number ranges. For example, '1-4,7,8,10-12'
176 would mean cores 1 to 4, cores 7, 8, and 10 to 12. Use the spe‐
177 cial keyword 'all' to specify all cores.
178
179
180 --packages PACKAGES
181 List of packages to offline. The list can include individual
182 package numbers and package number ranges. For example, '1-3'
183 would mean packages 1 to 3, and '1,3' would mean packages 1 and
184 3. Use the special keyword 'all' to specify all packages.
185
186
187 --core-siblings CORE_SIBLINGS
188 List of core sibling indices to offline. The list can include
189 individual core sibling indices or index ranges. For example,
190 core x includes CPUs 3 and 4, '0' would mean CPU 3 and '1' would
191 mean CPU 4. This option can only be used to reference online
192 CPUs, because Linux does not provide topology information for
193 offline CPUs. In the previous example if CPU 3 was offline, then
194 '0' would mean CPU 4.
195
196
198 usage: pepc cstates [-h] [-q] [-d] {info,config,save,restore} ...
199
200 Various commands related to CPU C-states.
201
202
204 -h Show this help message and exit.
205
206
207 -q Be quiet.
208
209
210 -d Print debugging information.
211
212
214 pepc cstates info
215 Get CPU C-states information.
216
217 pepc cstates config
218 Configure C-states.
219
220 pepc cstates save
221 Save C-states settings.
222
223 pepc cstates restore
224 Restore C-states settings.
225
226
228 usage: pepc cstates info [-h] [-q] [-d] [--cpus CPUS] [--cores CORES]
229 [--packages PACKAGES] [--core-siblings CORE_SIBLINGS] [--yaml]
230 [--cstates [CATATES]] [--pkg-cstate-limit] [--c1-demotion] [--c1-unde‐
231 motion] [--c1e-autopromote]
232 [--cstate-prewake] [--idle-driver] [--gover‐
233 nor]
234
235 Get information about C-states on specified CPUs. By default, prints
236 all information for all CPUs. Remember, this is information about the
237 C-states that Linux can request, they are not necessarily the same as
238 the C-states supported by the underlying hardware.
239
240
242 -h Show this help message and exit.
243
244
245 -q Be quiet.
246
247
248 -d Print debugging information.
249
250
251 --cpus CPUS
252 List of CPUs to get information about. The list can include in‐
253 dividual CPU numbers and CPU number ranges. For example,
254 '1-4,7,8,10-12' would mean CPUs 1 to 4, CPUs 7, 8, and 10 to 12.
255 Use the special keyword 'all' to specify all CPUs. If the
256 CPUs/cores/packages were not specified, all CPUs will be used as
257 the default value.
258
259
260 --cores CORES
261 List of cores to get information about. The list can include in‐
262 dividual core numbers and core number ranges. For example,
263 '1-4,7,8,10-12' would mean cores 1 to 4, cores 7, 8, and 10 to
264 12. Use the special keyword 'all' to specify all cores.
265
266
267 --packages PACKAGES
268 List of packages to get information about. The list can include
269 individual package numbers and package number ranges. For exam‐
270 ple, '1-3' would mean packages 1 to 3, and '1,3' would mean
271 packages 1 and 3. Use the special keyword 'all' to specify all
272 packages.
273
274
275 --core-siblings CORE_SIBLINGS
276 List of core sibling indices to get information about. The list
277 can include individual core sibling indices or index ranges. For
278 example, core x includes CPUs 3 and 4, '0' would mean CPU 3 and
279 '1' would mean CPU 4. This option can only be used to reference
280 online CPUs, because Linux does not provide topology information
281 for offline CPUs. In the previous example if CPU 3 was offline,
282 then '0' would mean CPU 4.
283
284
285 --yaml Print information in YAML format.
286
287
288 --cstates [CATATES]
289 Comma-separated list of C-states to get information about (all
290 C-states by default). C-states should be specified by name
291 (e.g., 'C1'). Use 'all' to specify all the available Linux
292 C-states (this is the default). Note, there is a difference be‐
293 tween Linux C-states (e.g., 'C6') and hardware C-states (e.g.,
294 Core C6 or Package C6 on many Intel platforms). The former is
295 what Linux can request, and on Intel hardware this is usually
296 about various 'mwait' instruction hints. The latter are plat‐
297 form-specific hardware state, entered upon a Linux request..
298
299
300 --pkg-cstate-limit
301 Get package C-state limit. The deepest package C-state the plat‐
302 form is allowed to enter. The package C-state limit is config‐
303 ured via MSR {MSR_PKG_CST_CONFIG_CONTROL:#x} (MSR_PKG_CST_CON‐
304 FIG_CONTROL). This model-specific register can be locked by the
305 BIOS, in which case the package C-state limit can only be read,
306 but cannot be modified. This option has package scope.
307
308
309 --c1-demotion
310 Get current setting for C1 demotion. Allow/disallow the CPU to
311 demote C6/C7 requests to C1. This option has core scope.
312
313
314 --c1-undemotion
315 Get current setting for C1 undemotion. Allow/disallow the CPU to
316 un-demote previously demoted requests back from C1 to C6/C7.
317 This option has core scope.
318
319
320 --c1e-autopromote
321 Get current setting for C1E autopromote. When enabled, the CPU
322 automatically converts all C1 requests to C1E requests. This CPU
323 feature is controlled by MSR 0x1fc, bit 1. This option has pack‐
324 age scope.
325
326
327 --cstate-prewake
328 Get current setting for c-state prewake. When enabled, the CPU
329 will start exiting the C6 idle state in advance, prior to the
330 next local APIC timer event. This CPU feature is controlled by
331 MSR 0x1fc, bit 30. This option has package scope.
332
333
334 --idle-driver
335 Get idle driver. Idle driver is responsible for enumerating and
336 requesting the C-states available on the platform. This option
337 has global scope.
338
339
340 --governor
341 Get idle governor. Idle governor decides which C-state to re‐
342 quest on an idle CPU. This option has global scope.
343
344
346 usage: pepc cstates config [-h] [-q] [-d] [--cpus CPUS] [--cores CORES]
347 [--packages PACKAGES] [--core-siblings CORE_SIBLINGS] [--enable
348 [CSTATES]] [--disable [CSTATES]] [--pkg-cstate-limit
349 [PKG_CSTATE_LIMIT]]
350 [--c1-demotion [C1_DEMOTION]] [--c1-undemo‐
351 tion [C1_UNDEMOTION]] [--c1e-autopromote [C1E_AUTOPROMOTE]]
352 [--cstate-prewake [CSTATE_PREWAKE]] [--governor [GOVERNOR]]
353
354 Configure C-states on specified CPUs. All options can be used without a
355 parameter, in which case the currently configured value(s) will be
356 printed.
357
358
360 -h Show this help message and exit.
361
362
363 -q Be quiet.
364
365
366 -d Print debugging information.
367
368
369 --cpus CPUS
370 List of CPUs to configure. The list can include individual CPU
371 numbers and CPU number ranges. For example, '1-4,7,8,10-12'
372 would mean CPUs 1 to 4, CPUs 7, 8, and 10 to 12. Use the special
373 keyword 'all' to specify all CPUs. If the CPUs/cores/packages
374 were not specified, all CPUs will be used as the default value.
375
376
377 --cores CORES
378 List of cores to configure. The list can include individual core
379 numbers and core number ranges. For example, '1-4,7,8,10-12'
380 would mean cores 1 to 4, cores 7, 8, and 10 to 12. Use the spe‐
381 cial keyword 'all' to specify all cores.
382
383
384 --packages PACKAGES
385 List of packages to configure. The list can include individual
386 package numbers and package number ranges. For example, '1-3'
387 would mean packages 1 to 3, and '1,3' would mean packages 1 and
388 3. Use the special keyword 'all' to specify all packages.
389
390
391 --core-siblings CORE_SIBLINGS
392 List of core sibling indices to configure. The list can include
393 individual core sibling indices or index ranges. For example,
394 core x includes CPUs 3 and 4, '0' would mean CPU 3 and '1' would
395 mean CPU 4. This option can only be used to reference online
396 CPUs, because Linux does not provide topology information for
397 offline CPUs. In the previous example if CPU 3 was offline, then
398 '0' would mean CPU 4.
399
400
401 --enable [CSTATES]
402 Comma-separated list of C-states to enable. C-states should be
403 specified by name (e.g., 'C1'). Use 'all' to specify all the
404 available Linux C-states (this is the default). Note, there is a
405 difference between Linux C-states (e.g., 'C6') and hardware
406 C-states (e.g., Core C6 or Package C6 on many Intel platforms).
407 The former is what Linux can request, and on Intel hardware this
408 is usually about various 'mwait' instruction hints. The latter
409 are platform-specific hardware state, entered upon a Linux re‐
410 quest..
411
412
413 --disable [CSTATES]
414 Similar to '--enable', but specifies the list of C-states to
415 disable.
416
417
418 --pkg-cstate-limit [PKG_CSTATE_LIMIT]
419 Set package C-state limit. The deepest package C-state the plat‐
420 form is allowed to enter. The package C-state limit is config‐
421 ured via MSR {MSR_PKG_CST_CONFIG_CONTROL:#x} (MSR_PKG_CST_CON‐
422 FIG_CONTROL). This model-specific register can be locked by the
423 BIOS, in which case the package C-state limit can only be read,
424 but cannot be modified. This option has package scope.
425
426
427 --c1-demotion [C1_DEMOTION]
428 Enable or disable C1 demotion. Allow/disallow the CPU to demote
429 C6/C7 requests to C1. Use "on" or "off". This option has core
430 scope.
431
432
433 --c1-undemotion [C1_UNDEMOTION]
434 Enable or disable C1 undemotion. Allow/disallow the CPU to
435 un-demote previously demoted requests back from C1 to C6/C7. Use
436 "on" or "off". This option has core scope.
437
438
439 --c1e-autopromote [C1E_AUTOPROMOTE]
440 Enable or disable C1E autopromote. When enabled, the CPU auto‐
441 matically converts all C1 requests to C1E requests. This CPU
442 feature is controlled by MSR 0x1fc, bit 1. Use "on" or "off".
443 This option has package scope.
444
445
446 --cstate-prewake [CSTATE_PREWAKE]
447 Enable or disable c-state prewake. When enabled, the CPU will
448 start exiting the C6 idle state in advance, prior to the next
449 local APIC timer event. This CPU feature is controlled by MSR
450 0x1fc, bit 30. Use "on" or "off". This option has package scope.
451
452
453 --governor [GOVERNOR]
454 Set idle governor. Idle governor decides which C-state to re‐
455 quest on an idle CPU. This option has global scope.
456
457
459 usage: pepc cstates save [-h] [-q] [-d] [--cpus CPUS] [--cores CORES]
460 [--packages PACKAGES] [--core-siblings CORE_SIBLINGS] [-o OUTFILE]
461
462 Save all the modifiable C-state settings into a file. This file can
463 later be used for restoring C-state settings with the 'pepc cstates re‐
464 store' command.
465
466
468 -h Show this help message and exit.
469
470
471 -q Be quiet.
472
473
474 -d Print debugging information.
475
476
477 --cpus CPUS
478 List of CPUs to save C-state information about. The list can in‐
479 clude individual CPU numbers and CPU number ranges. For example,
480 '1-4,7,8,10-12' would mean CPUs 1 to 4, CPUs 7, 8, and 10 to 12.
481 Use the special keyword 'all' to specify all CPUs. If the
482 CPUs/cores/packages were not specified, all CPUs will be used as
483 the default value.
484
485
486 --cores CORES
487 List of cores to save C-state information about. The list can
488 include individual core numbers and core number ranges. For ex‐
489 ample, '1-4,7,8,10-12' would mean cores 1 to 4, cores 7, 8, and
490 10 to 12. Use the special keyword 'all' to specify all cores.
491
492
493 --packages PACKAGES
494 List of packages to save C-state information about. The list can
495 include individual package numbers and package number ranges.
496 For example, '1-3' would mean packages 1 to 3, and '1,3' would
497 mean packages 1 and 3. Use the special keyword
498
499
500 --core-siblings CORE_SIBLINGS
501 List of core sibling indices to save C-state information about.
502 The list can include individual core sibling indices or index
503 ranges. For example, core x includes CPUs 3 and 4, '0' would
504 mean CPU 3 and '1' would mean CPU 4. This option can only be
505 used to reference online CPUs, because Linux does not provide
506 topology information for offline CPUs. In the previous example
507 if CPU 3 was offline, then '0' would mean CPU 4.
508
509
510 -o OUTFILE, --outfile OUTFILE
511 Name of the file to save the settings to.
512
513
515 usage: pepc cstates restore [-h] [-q] [-d] [-f INFILE]
516
517 Restore C-state settings from a file previously created with the 'pepc
518 cstates save' command.
519
520
522 -h Show this help message and exit.
523
524
525 -q Be quiet.
526
527
528 -d Print debugging information.
529
530
531 -f INFILE, --from INFILE
532 Name of the file from which to restore the settings from, use
533 "-" to read from the standard output.
534
535
537 usage: pepc pstates [-h] [-q] [-d] {info,config,save,restore} ...
538
539 Various commands related to P-states (CPU performance states).
540
541
543 -h Show this help message and exit.
544
545
546 -q Be quiet.
547
548
549 -d Print debugging information.
550
551
553 pepc pstates info
554 Get P-states information.
555
556 pepc pstates config
557 Configure P-states.
558
559 pepc pstates save
560 Save P-states settings.
561
562 pepc pstates restore
563 Restore P-states settings.
564
565
567 usage: pepc pstates info [-h] [-q] [-d] [--cpus CPUS] [--cores CORES]
568 [--packages PACKAGES] [--core-siblings CORE_SIBLINGS] [--yaml]
569 [--min-freq] [--max-freq] [--min-freq-limit] [--max-freq-limit]
570 [--base-freq] [--min-freq-hw]
571 [--max-freq-hw] [--min-oper-freq]
572 [--max-eff-freq] [--turbo] [--max-turbo-freq] [--min-uncore-freq]
573 [--max-uncore-freq] [--min-uncore-freq-limit] [--max-uncore-freq-limit]
574 [--hwp] [--epp] [--epp-hw] [--epb]
575 [--epb-hw] [--driver] [--intel-pstate-mode]
576 [--governor]
577
578 Get P-states information for specified CPUs. By default, prints all in‐
579 formation for all CPUs.
580
581
583 -h Show this help message and exit.
584
585
586 -q Be quiet.
587
588
589 -d Print debugging information.
590
591
592 --cpus CPUS
593 List of CPUs to get information about. The list can include in‐
594 dividual CPU numbers and CPU number ranges. For example,
595 '1-4,7,8,10-12' would mean CPUs 1 to 4, CPUs 7, 8, and 10 to 12.
596 Use the special keyword 'all' to specify all CPUs. If the
597 CPUs/cores/packages were not specified, all CPUs will be used as
598 the default value.
599
600
601 --cores CORES
602 List of cores to get information about. The list can include in‐
603 dividual core numbers and core number ranges. For example,
604 '1-4,7,8,10-12' would mean cores 1 to 4, cores 7, 8, and 10 to
605 12. Use the special keyword 'all' to specify all cores.
606
607
608 --packages PACKAGES
609 List of packages to get information about. The list can include
610 individual package numbers and package number ranges. For exam‐
611 ple, '1-3' would mean packages 1 to 3, and '1,3' would mean
612 packages 1 and 3. Use the special keyword 'all' to specify all
613 packages.
614
615
616 --core-siblings CORE_SIBLINGS
617 List of core sibling indices to get information about. The list
618 can include individual core sibling indices or index ranges. For
619 example, core x includes CPUs 3 and 4, '0' would mean CPU 3 and
620 '1' would mean CPU 4. This option can only be used to reference
621 online CPUs, because Linux does not provide topology information
622 for offline CPUs. In the previous example if CPU 3 was offline,
623 then '0' would mean CPU 4.
624
625
626 --yaml Print information in YAML format.
627
628
629 --min-freq
630 Get min. CPU frequency via sysfs. Minimum CPU frequency is the
631 lowest frequency the operating system configured the CPU to run
632 at (via sysfs knobs). The default unit is "Hz", but "kHz",
633 "MHz", and "GHz" can also be used (for example "900MHz"). The
634 following special values are supported: "min" - minimum CPU fre‐
635 quency supported by the OS (via Linux sysfs files), "hfm",
636 "base", "P1" - base CPU frequency, "max" - maximum CPU frequency
637 supported by the OS (via Linux sysfs), "eff", "lfm", "Pn" - max‐
638 imum CPU efficiency frequency. This option has CPU scope.
639
640
641 --max-freq
642 Get max. CPU frequency via sysfs. Maximum CPU frequency is the
643 highest frequency the operating system configured the CPU to run
644 at (via sysfs knobs). The default unit is "Hz", but "kHz",
645 "MHz", and "GHz" can also be used (for example "900MHz"). The
646 following special values are supported: "min" - minimum CPU fre‐
647 quency supported by the OS (via Linux sysfs files), "hfm",
648 "base", "P1" - base CPU frequency, "max" - maximum CPU frequency
649 supported by the OS (via Linux sysfs), "eff", "lfm", "Pn" - max‐
650 imum CPU efficiency frequency. This option has CPU scope.
651
652
653 --min-freq-limit
654 Get min. supported CPU frequency. Minimum supported CPU fre‐
655 quency is the lowest frequency supported by the operating system
656 (reported via sysfs knobs). This option has CPU scope.
657
658
659 --max-freq-limit
660 Get max. supported CPU frequency. Maximum supported CPU fre‐
661 quency is the maximum CPU frequency supported by the operating
662 system (reported via sysfs knobs). This option has CPU scope.
663
664
665 --base-freq
666 Get base CPU frequency. Base CPU frequency is the highest sus‐
667 tainable CPU frequency. This frequency is also referred to as
668 "guaranteed frequency", HFM (High Frequency Mode), or P1. The
669 base frequency is acquired from a sysfs file of from an MSR reg‐
670 ister, if the sysfs file does not exist. This option has CPU
671 scope.
672
673
674 --min-freq-hw
675 Get min. CPU frequency via MSR. Minimum frequency the CPU is
676 configured by the OS to run at. This value is read directly from
677 the MSR(s), bypassing the OS. This option has CPU scope.
678
679
680 --max-freq-hw
681 Get max. CPU frequency via MSR. Maximum frequency the CPU is
682 configured by the OS to run at. This value is read directly from
683 the MSR(s), bypassing the OS. This option has CPU scope.
684
685
686 --min-oper-freq
687 Get min. CPU operating frequency. Minimum operating frequency is
688 the lowest possible frequency the CPU can operate at. Depending
689 on the CPU model, this frequency may or may not be directly
690 available to the operating system, but the platform may use it
691 in certain situations (e.g., in some C-states). This frequency
692 is also referred to as Pm. Min. operating frequency is acquired
693 from an MSR register, bypassing the OS. This option has CPU
694 scope.
695
696
697 --max-eff-freq
698 Get max. CPU efficiency frequency. Maximum efficiency frequency
699 is the most energy efficient CPU frequency. This frequency is
700 also referred to as LFM (Low Frequency Mode) or Pn. Max. effi‐
701 ciency frequency is acquired from an MSR register, bypassing the
702 OS. This option has CPU scope.
703
704
705 --turbo
706 Get current setting for turbo. When turbo is enabled, the CPUs
707 can automatically run at a frequency greater than base fre‐
708 quency. Turbo on/off status is acquired and modified via sysfs
709 knobs. This option has global scope.
710
711
712 --max-turbo-freq
713 Get max. CPU turbo frequency. Maximum 1-core turbo frequency is
714 the highest frequency a single CPU can operate at. This fre‐
715 quency is also referred to as max. 1-core turbo and P01. It is
716 acquired from an MSR register, bypassing the OS. This option
717 has CPU scope.
718
719
720 --min-uncore-freq
721 Get min. uncore frequency. Minimum uncore frequency is the low‐
722 est frequency the operating system configured the uncore to run
723 at. The default unit is "Hz", but "kHz", "MHz", and "GHz" can
724 also be used (for example "900MHz"). The following special val‐
725 ues are supported: "min" - minimum uncore frequency supported by
726 the OS (via Linux sysfs files), "max" - maximum uncore frequency
727 supported by the OS (via Linux sysfs). This option has die
728 scope.
729
730
731 --max-uncore-freq
732 Get max. uncore frequency. Maximum uncore frequency is the high‐
733 est frequency the operating system configured the uncore to run
734 at. The default unit is "Hz", but "kHz", "MHz", and "GHz" can
735 also be used (for example "900MHz"). The following special val‐
736 ues are supported: "min" - minimum uncore frequency supported by
737 the OS (via Linux sysfs files), "max" - maximum uncore frequency
738 supported by the OS (via Linux sysfs). This option has die
739 scope.
740
741
742 --min-uncore-freq-limit
743 Get min. supported uncore frequency. Minimum supported uncore
744 frequency is the lowest uncore frequency supported by the oper‐
745 ating system. This option has die scope.
746
747
748 --max-uncore-freq-limit
749 Get max. supported uncore frequency. Maximum supported uncore
750 frequency is the highest uncore frequency supported by the oper‐
751 ating system. This option has die scope.
752
753
754 --hwp Get current setting for hardware power management. When hardware
755 power management is enabled, CPUs can automatically scale their
756 frequency without active OS involvement. This option has global
757 scope.
758
759
760 --epp Get EPP via sysfs. Energy Performance Preference is a hint to
761 the CPU on energy efficiency vs performance. EPP value is a num‐
762 ber in range of 0-255 (maximum energy efficiency to maximum per‐
763 formance), or a policy name. The value is read from or written
764 to the 'energy_performance_preference' Linux sysfs file. This
765 option has CPU scope.
766
767
768 --epp-hw
769 Get EPP via MSR. Energy Performance Preference is a hint to the
770 CPU on energy efficiency vs performance. EPP value is a number
771 in range of 0-255 (maximum energy efficiency to maximum perfor‐
772 mance). When package control is enabled the value is read from
773 MSR 0x772, but when written package control is disabled and
774 value is written to MSR 0x774, both require the 'msr' Linux ker‐
775 nel driver. This option has CPU scope.
776
777
778 --epb Get EPB via sysfs. Energy Performance Bias is a hint to the CPU
779 on energy efficiency vs performance. EBP value is a number in
780 range of 0-15 (maximum performance to maximum energy effi‐
781 ciency), or a policy name. The value is read from or written to
782 the 'energy_perf_bias' Linux sysfs file. This option has CPU
783 scope.
784
785
786 --epb-hw
787 Get EPB via MSR. Energy Performance Bias is a hint to the CPU on
788 energy efficiency vs performance. EBP value is a number in range
789 of 0-15 (maximum performance to maximum energy efficiency). The
790 value is read from or written to MSR 0x1b0, which requires the
791 'msr' Linux kernel driver. This option has CPU scope.
792
793
794 --driver
795 Get CPU frequency driver. CPU frequency driver enumerates and
796 requests the P-states available on the platform. This option has
797 global scope.
798
799
800 --intel-pstate-mode
801 Get operation mode of 'intel_pstate' driver. The 'intel_pstate'
802 driver has 3 operation modes: 'active', 'passive' and 'off'. The
803 main difference between the active and passive mode is in what
804 frequency governors are used - the generic Linux governors (pas‐
805 sive mode) or the custom, built-in 'intel_pstate' driver gover‐
806 nors (active mode). This option has global scope.
807
808
809 --governor
810 Get CPU frequency governor. CPU frequency governor decides which
811 P-state to select on a CPU depending on CPU business and other
812 factors. This option has CPU scope.
813
814
816 usage: pepc pstates config [-h] [-q] [-d] [--cpus CPUS] [--cores CORES]
817 [--packages PACKAGES] [--core-siblings CORE_SIBLINGS] [--min-freq
818 [MIN_FREQ]] [--max-freq [MAX_FREQ]] [--min-freq-hw [MIN_FREQ_HW]]
819 [--max-freq-hw [MAX_FREQ_HW]]
820 [--turbo [TURBO]] [--min-uncore-freq
821 [MIN_UNCORE_FREQ]] [--max-uncore-freq [MAX_UNCORE_FREQ]] [--epp [EPP]]
822 [--epp-hw [EPP_HW]] [--epb [EPB]] [--epb-hw [EPB_HW]] [--in‐
823 tel-pstate-mode [INTEL_PSTATE_MODE]]
824 [--governor [GOVERNOR]]
825
826 Configure P-states on specified CPUs. All options can be used without a
827 parameter, in which case the currently configured value(s) will be
828 printed.
829
830
832 -h Show this help message and exit.
833
834
835 -q Be quiet.
836
837
838 -d Print debugging information.
839
840
841 --cpus CPUS
842 List of CPUs to configure P-States on. The list can include in‐
843 dividual CPU numbers and CPU number ranges. For example,
844 '1-4,7,8,10-12' would mean CPUs 1 to 4, CPUs 7, 8, and 10 to 12.
845 Use the special keyword 'all' to specify all CPUs. If the
846 CPUs/cores/packages were not specified, all CPUs will be used as
847 the default value.
848
849
850 --cores CORES
851 List of cores to configure P-States on. The list can include in‐
852 dividual core numbers and core number ranges. For example,
853 '1-4,7,8,10-12' would mean cores 1 to 4, cores 7, 8, and 10 to
854 12. Use the special keyword 'all' to specify all cores.
855
856
857 --packages PACKAGES
858 List of packages to configure P-States on. The list can include
859 individual package numbers and package number ranges. For exam‐
860 ple, '1-3' would mean packages 1 to 3, and '1,3' would mean
861 packages 1 and 3. Use the special keyword 'all' to specify all
862 packages.
863
864
865 --core-siblings CORE_SIBLINGS
866 List of core sibling indices to configure P-States on. The list
867 can include individual core sibling indices or index ranges. For
868 example, core x includes CPUs 3 and 4, '0' would mean CPU 3 and
869 '1' would mean CPU 4. This option can only be used to reference
870 online CPUs, because Linux does not provide topology information
871 for offline CPUs. In the previous example if CPU 3 was offline,
872 then '0' would mean CPU 4.
873
874
875 --min-freq [MIN_FREQ]
876 Set min. CPU frequency via sysfs. Minimum CPU frequency is the
877 lowest frequency the operating system configured the CPU to run
878 at (via sysfs knobs). The default unit is "Hz", but "kHz",
879 "MHz", and "GHz" can also be used (for example "900MHz"). The
880 following special values are supported: "min" - minimum CPU fre‐
881 quency supported by the OS (via Linux sysfs files), "hfm",
882 "base", "P1" - base CPU frequency, "max" - maximum CPU frequency
883 supported by the OS (via Linux sysfs), "eff", "lfm", "Pn" - max‐
884 imum CPU efficiency frequency. This option has CPU scope.
885
886
887 --max-freq [MAX_FREQ]
888 Set max. CPU frequency via sysfs. Maximum CPU frequency is the
889 highest frequency the operating system configured the CPU to run
890 at (via sysfs knobs). The default unit is "Hz", but "kHz",
891 "MHz", and "GHz" can also be used (for example "900MHz"). The
892 following special values are supported: "min" - minimum CPU fre‐
893 quency supported by the OS (via Linux sysfs files), "hfm",
894 "base", "P1" - base CPU frequency, "max" - maximum CPU frequency
895 supported by the OS (via Linux sysfs), "eff", "lfm", "Pn" - max‐
896 imum CPU efficiency frequency. This option has CPU scope.
897
898
899 --min-freq-hw [MIN_FREQ_HW]
900 Set min. CPU frequency via MSR. Minimum frequency the CPU is
901 configured by the OS to run at. This value is read directly from
902 the MSR(s), bypassing the OS. This option has CPU scope.
903
904
905 --max-freq-hw [MAX_FREQ_HW]
906 Set max. CPU frequency via MSR. Maximum frequency the CPU is
907 configured by the OS to run at. This value is read directly from
908 the MSR(s), bypassing the OS. This option has CPU scope.
909
910
911 --turbo [TURBO]
912 Enable or disable turbo. When turbo is enabled, the CPUs can au‐
913 tomatically run at a frequency greater than base frequency.
914 Turbo on/off status is acquired and modified via sysfs knobs.
915 Use "on" or "off". This option has global scope.
916
917
918 --min-uncore-freq [MIN_UNCORE_FREQ]
919 Set min. uncore frequency. Minimum uncore frequency is the low‐
920 est frequency the operating system configured the uncore to run
921 at. The default unit is "Hz", but "kHz", "MHz", and "GHz" can
922 also be used (for example "900MHz"). The following special val‐
923 ues are supported: "min" - minimum uncore frequency supported by
924 the OS (via Linux sysfs files), "max" - maximum uncore frequency
925 supported by the OS (via Linux sysfs). This option has die
926 scope.
927
928
929 --max-uncore-freq [MAX_UNCORE_FREQ]
930 Set max. uncore frequency. Maximum uncore frequency is the high‐
931 est frequency the operating system configured the uncore to run
932 at. The default unit is "Hz", but "kHz", "MHz", and "GHz" can
933 also be used (for example "900MHz"). The following special val‐
934 ues are supported: "min" - minimum uncore frequency supported by
935 the OS (via Linux sysfs files), "max" - maximum uncore frequency
936 supported by the OS (via Linux sysfs). This option has die
937 scope.
938
939
940 --epp [EPP]
941 Set EPP via sysfs. Energy Performance Preference is a hint to
942 the CPU on energy efficiency vs performance. EPP value is a num‐
943 ber in range of 0-255 (maximum energy efficiency to maximum per‐
944 formance), or a policy name. The value is read from or written
945 to the 'energy_performance_preference' Linux sysfs file. This
946 option has CPU scope.
947
948
949 --epp-hw [EPP_HW]
950 Set EPP via MSR. Energy Performance Preference is a hint to the
951 CPU on energy efficiency vs performance. EPP value is a number
952 in range of 0-255 (maximum energy efficiency to maximum perfor‐
953 mance). When package control is enabled the value is read from
954 MSR 0x772, but when written package control is disabled and
955 value is written to MSR 0x774, both require the 'msr' Linux ker‐
956 nel driver. This option has CPU scope.
957
958
959 --epb [EPB]
960 Set EPB via sysfs. Energy Performance Bias is a hint to the CPU
961 on energy efficiency vs performance. EBP value is a number in
962 range of 0-15 (maximum performance to maximum energy effi‐
963 ciency), or a policy name. The value is read from or written to
964 the 'energy_perf_bias' Linux sysfs file. This option has CPU
965 scope.
966
967
968 --epb-hw [EPB_HW]
969 Set EPB via MSR. Energy Performance Bias is a hint to the CPU on
970 energy efficiency vs performance. EBP value is a number in range
971 of 0-15 (maximum performance to maximum energy efficiency). The
972 value is read from or written to MSR 0x1b0, which requires the
973 'msr' Linux kernel driver. This option has CPU scope.
974
975
976 --intel-pstate-mode [INTEL_PSTATE_MODE]
977 Set operation mode of 'intel_pstate' driver. The 'intel_pstate'
978 driver has 3 operation modes: 'active', 'passive' and 'off'. The
979 main difference between the active and passive mode is in what
980 frequency governors are used - the generic Linux governors (pas‐
981 sive mode) or the custom, built-in 'intel_pstate' driver gover‐
982 nors (active mode). This option has global scope.
983
984
985 --governor [GOVERNOR]
986 Set CPU frequency governor. CPU frequency governor decides which
987 P-state to select on a CPU depending on CPU business and other
988 factors. This option has CPU scope.
989
990
992 usage: pepc pstates save [-h] [-q] [-d] [--cpus CPUS] [--cores CORES]
993 [--packages PACKAGES] [--core-siblings CORE_SIBLINGS] [-o OUTFILE]
994
995 Save all the modifiable P-state settings into a file. This file can
996 later be used for restoring P-state settings with the 'pepc pstates re‐
997 store' command.
998
999
1001 -h Show this help message and exit.
1002
1003
1004 -q Be quiet.
1005
1006
1007 -d Print debugging information.
1008
1009
1010 --cpus CPUS
1011 List of CPUs to save P-state information about. The list can in‐
1012 clude individual CPU numbers and CPU number ranges. For example,
1013 '1-4,7,8,10-12' would mean CPUs 1 to 4, CPUs 7, 8, and 10 to 12.
1014 Use the special keyword 'all' to specify all CPUs. If the
1015 CPUs/cores/packages were not specified, all CPUs will be used as
1016 the default value.
1017
1018
1019 --cores CORES
1020 List of cores to save P-state information about. The list can
1021 include individual core numbers and core number ranges. For ex‐
1022 ample, '1-4,7,8,10-12' would mean cores 1 to 4, cores 7, 8, and
1023 10 to 12. Use the special keyword 'all' to specify all cores.
1024
1025
1026 --packages PACKAGES
1027 List of packages to save P-state information about. The list can
1028 include individual package numbers and package number ranges.
1029 For example, '1-3' would mean packages 1 to 3, and '1,3' would
1030 mean packages 1 and 3. Use the special keyword
1031
1032
1033 --core-siblings CORE_SIBLINGS
1034 List of core sibling indices to save P-state information about.
1035 The list can include individual core sibling indices or index
1036 ranges. For example, core x includes CPUs 3 and 4, '0' would
1037 mean CPU 3 and '1' would mean CPU 4. This option can only be
1038 used to reference online CPUs, because Linux does not provide
1039 topology information for offline CPUs. In the previous example
1040 if CPU 3 was offline, then '0' would mean CPU 4.
1041
1042
1043 -o OUTFILE, --outfile OUTFILE
1044 Name of the file to save the settings to (printed to standard
1045 output by default).
1046
1047
1049 usage: pepc pstates restore [-h] [-q] [-d] [-f INFILE]
1050
1051 Restore P-state settings from a file previously created with the 'pepc
1052 pstates save' command.
1053
1054
1056 -h Show this help message and exit.
1057
1058
1059 -q Be quiet.
1060
1061
1062 -d Print debugging information.
1063
1064
1065 -f INFILE, --from INFILE
1066 Name of the file from which to restore the settings from, use
1067 "-" to read from the standard output.
1068
1069
1071 usage: pepc aspm [-h] [-q] [-d] {info,config} ...
1072
1073 Manage Active State Power Management configuration.
1074
1075
1077 -h Show this help message and exit.
1078
1079
1080 -q Be quiet.
1081
1082
1083 -d Print debugging information.
1084
1085
1087 pepc aspm info
1088 Get PCI ASPM information.
1089
1090 pepc aspm config
1091 Change PCI ASPM configuration.
1092
1093
1095 usage: pepc aspm info [-h] [-q] [-d]
1096
1097 Get information about current PCI ASPM configuration.
1098
1099
1101 -h Show this help message and exit.
1102
1103
1104 -q Be quiet.
1105
1106
1107 -d Print debugging information.
1108
1109
1111 usage: pepc aspm config [-h] [-q] [-d] [--policy [POLICY]]
1112
1113 Change PCI ASPM configuration.
1114
1115
1117 -h Show this help message and exit.
1118
1119
1120 -q Be quiet.
1121
1122
1123 -d Print debugging information.
1124
1125
1126 --policy [POLICY]
1127 The PCI ASPM policy to set, use "default" to set the Linux de‐
1128 fault policy.
1129
1130
1132 usage: pepc topology [-h] [-q] [-d] {info} ...
1133
1134 Various commands related to CPU topology.
1135
1136
1138 -h Show this help message and exit.
1139
1140
1141 -q Be quiet.
1142
1143
1144 -d Print debugging information.
1145
1146
1148 pepc topology info
1149 Print CPU topology.
1150
1151
1153 usage: pepc topology info [-h] [-q] [-d] [--cpus CPUS] [--cores CORES]
1154 [--packages PACKAGES] [--core-siblings CORE_SIBLINGS] [--order ORDER]
1155 [--online-only] [--columns COLUMNS]
1156
1157 Print CPU topology information. Note, the topology information for some
1158 offline CPUs may be unavailable, in these cases the number will be sub‐
1159 stituted with "?".
1160
1161
1163 -h Show this help message and exit.
1164
1165
1166 -q Be quiet.
1167
1168
1169 -d Print debugging information.
1170
1171
1172 --cpus CPUS
1173 List of CPUs to print topology information for. The list can in‐
1174 clude individual CPU numbers and CPU number ranges. For example,
1175 '1-4,7,8,10-12' would mean CPUs 1 to 4, CPUs 7, 8, and 10 to 12.
1176 Use the special keyword 'all' to specify all CPUs. If the
1177 CPUs/cores/packages were not specified, all CPUs will be used as
1178 the default value.
1179
1180
1181 --cores CORES
1182 List of cores to print topology information for. The list can
1183 include individual core numbers and core number ranges. For ex‐
1184 ample, '1-4,7,8,10-12' would mean cores 1 to 4, cores 7, 8, and
1185 10 to 12. Use the special keyword 'all' to specify all cores.
1186
1187
1188 --packages PACKAGES
1189 List of packages to print topology information for. The list can
1190 include individual package numbers and package number ranges.
1191 For example, '1-3' would mean packages 1 to 3, and '1,3' would
1192 mean packages 1 and 3. Use the special keyword
1193
1194
1195 --core-siblings CORE_SIBLINGS
1196 List of core sibling indices to print topology information for.
1197 The list can include individual core sibling indices or index
1198 ranges. For example, core x includes CPUs 3 and 4, '0' would
1199 mean CPU 3 and '1' would mean CPU 4. This option can only be
1200 used to reference online CPUs, because Linux does not provide
1201 topology information for offline CPUs. In the previous example
1202 if CPU 3 was offline, then '0' would mean CPU 4.
1203
1204
1205 --order ORDER
1206 By default, the topology table is printed in CPU number order.
1207 Use this option to print it in a different order (e.g., core or
1208 package number order). Here are the supported order names: cpu,
1209 core, module, die, node, package.
1210
1211
1212 --online-only
1213 Include only online CPUs. By default offline and online CPUs are
1214 included.
1215
1216
1217 --columns COLUMNS
1218 By default, the topology columns are CPU, core, module, die,
1219 node, package, "die" and "module" columns are not printed if
1220 there is only one die per package and no modules. Use this op‐
1221 tion to select topology columns names and order (e.g.
1222
1223
1225 Artem Bityutskiy
1226 dedekind1@gmail.com
1227
1228
1230 The latest version of pepc may be downloaded from
1231 ⟨https://github.com/intel/pepc⟩
1232
1233
1234
1235pepc 2023-03-16 PEPC(1)