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] [--ht-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.
170
171
172 --cores CORES
173 Same as '--cpus', but specifies list of cores.
174
175
176 --packages PACKAGES
177 Same as '--cpus', but specifies list of packages.
178
179
180 --ht-siblings
181 Offline core siblings, making sure there is only one logical CPU
182 per core is left online. The sibling CPUs will be searched for
183 among the CPUs selected with '--cpus', '--cores', and '--pack‐
184 ages'. Therefore, specifying '--cpus all --ht- siblings' will
185 effectively disable hyper-threading on Intel CPUs.
186
187
189 usage: pepc cstates [-h] [-q] [-d] {info,config,save,restore} ...
190
191 Various commands related to CPU C-states.
192
193
195 -h Show this help message and exit.
196
197
198 -q Be quiet.
199
200
201 -d Print debugging information.
202
203
205 pepc cstates info
206 Get CPU C-states information.
207
208 pepc cstates config
209 Configure C-states.
210
211 pepc cstates save
212 Save C-states settings.
213
214 pepc cstates restore
215 Restore C-states settings.
216
217
219 usage: pepc cstates info [-h] [-q] [-d] [--cpus CPUS] [--cores CORES]
220 [--packages PACKAGES] [--yaml] [--cstates [CATATES]]
221 [--pkg-cstate-limit] [--c1-demotion] [--c1-undemotion] [--c1e-autopro‐
222 mote] [--cstate-prewake] [--idle-driver]
223 [--governor]
224
225 Get information about C-states on specified CPUs. By default, prints
226 all information for all CPUs. Remember, this is information about the
227 C-states that Linux can request, they are not necessarily the same as
228 the C-states supported by the underlying hardware.
229
230
232 -h Show this help message and exit.
233
234
235 -q Be quiet.
236
237
238 -d Print debugging information.
239
240
241 --cpus CPUS
242 List of CPUs to get information about. The list can include in‐
243 dividual CPU numbers and CPU number ranges. For example,
244 '1-4,7,8,10-12' would mean CPUs 1 to 4, CPUs 7, 8, and 10 to 12.
245 Use the special keyword 'all' to specify all CPUs. If the
246 CPUs/cores/packages were not specified, all CPUs will be used as
247 the default value.
248
249
250 --cores CORES
251 List of cores to get information about. The list can include in‐
252 dividual core numbers and core number ranges. For example,
253 '1-4,7,8,10-12' would mean cores 1 to 4, cores 7, 8, and 10 to
254 12. Use the special keyword 'all' to specify all cores.
255
256
257 --packages PACKAGES
258 List of packages to get information about. The list can include
259 individual package numbers and package number ranges. For exam‐
260 ple, '1-3' would mean packages 1 to 3, and '1,3' would mean
261 packages 1 and 3. Use the special keyword 'all' to specify all
262 packages.
263
264
265 --yaml Print information in YAML format.
266
267
268 --cstates [CATATES]
269 Comma-separated list of C-states to get information about (all
270 C-states by default). C-states should be specified by name
271 (e.g., 'C1'). Use 'all' to specify all the available Linux
272 C-states (this is the default). Note, there is a difference be‐
273 tween Linux C-states (e.g., 'C6') and hardware C-states (e.g.,
274 Core C6 or Package C6 on many Intel platforms). The former is
275 what Linux can request, and on Intel hardware this is usually
276 about various 'mwait' instruction hints. The latter are plat‐
277 form-specific hardware state, entered upon a Linux request..
278
279
280 --pkg-cstate-limit
281 Get package C-state limit. The deepest package C-state the plat‐
282 form is allowed to enter. The package C-state limit is config‐
283 ured via MSR {MSR_PKG_CST_CONFIG_CONTROL:#x} (MSR_PKG_CST_CON‐
284 FIG_CONTROL). This model-specific register can be locked by the
285 BIOS, in which case the package C-state limit can only be read,
286 but cannot be modified. This option has package scope.
287
288
289 --c1-demotion
290 Get current setting for c1 demotion. Allow/disallow the CPU to
291 demote C6/C7 requests to C1. This option has core scope.
292
293
294 --c1-undemotion
295 Get current setting for c1 undemotion. Allow/disallow the CPU to
296 un-demote previously demoted requests back from C1 to C6/C7.
297 This option has core scope.
298
299
300 --c1e-autopromote
301 Get current setting for c1E autopromote. When enabled, the CPU
302 automatically converts all C1 requests to C1E requests. This CPU
303 feature is controlled by MSR 0x1fc, bit 1. This option has pack‐
304 age scope.
305
306
307 --cstate-prewake
308 Get current setting for c-state prewake. When enabled, the CPU
309 will start exiting the C6 idle state in advance, prior to the
310 next local APIC timer event. This CPU feature is controlled by
311 MSR 0x1fc, bit 30. This option has package scope.
312
313
314 --idle-driver
315 Get idle driver. Idle driver is responsible for enumerating and
316 requesting the C-states available on the platform. This option
317 has global scope.
318
319
320 --governor
321 Get idle governor. Idle governor decides which C-state to re‐
322 quest on an idle CPU. This option has global scope.
323
324
326 usage: pepc cstates config [-h] [-q] [-d] [--cpus CPUS] [--cores CORES]
327 [--packages PACKAGES] [--enable [CSTATES]] [--disable [CSTATES]]
328 [--pkg-cstate-limit [PKG_CSTATE_LIMIT]] [--c1-demotion [C1_DEMOTION]]
329 [--c1-undemotion [C1_UNDEMOTION]] [--c1e-au‐
330 topromote [C1E_AUTOPROMOTE]] [--cstate-prewake [CSTATE_PREWAKE]]
331 [--governor [GOVERNOR]]
332
333 Configure C-states on specified CPUs. All options can be used without a
334 parameter, in which case the currently configured value(s) will be
335 printed.
336
337
339 -h Show this help message and exit.
340
341
342 -q Be quiet.
343
344
345 -d Print debugging information.
346
347
348 --cpus CPUS
349 List of CPUs to configure. The list can include individual CPU
350 numbers and CPU number ranges. For example, '1-4,7,8,10-12'
351 would mean CPUs 1 to 4, CPUs 7, 8, and 10 to 12. Use the special
352 keyword 'all' to specify all CPUs. If the CPUs/cores/packages
353 were not specified, all CPUs will be used as the default value.
354
355
356 --cores CORES
357 List of cores to configure. The list can include individual core
358 numbers and core number ranges. For example, '1-4,7,8,10-12'
359 would mean cores 1 to 4, cores 7, 8, and 10 to 12. Use the spe‐
360 cial keyword 'all' to specify all cores.
361
362
363 --packages PACKAGES
364 List of packages to configure. The list can include individual
365 package numbers and package number ranges. For example, '1-3'
366 would mean packages 1 to 3, and '1,3' would mean packages 1 and
367 3. Use the special keyword 'all' to specify all packages.
368
369
370 --enable [CSTATES]
371 Comma-separated list of C-states to enable. C-states should be
372 specified by name (e.g., 'C1'). Use 'all' to specify all the
373 available Linux C-states (this is the default). Note, there is a
374 difference between Linux C-states (e.g., 'C6') and hardware
375 C-states (e.g., Core C6 or Package C6 on many Intel platforms).
376 The former is what Linux can request, and on Intel hardware this
377 is usually about various 'mwait' instruction hints. The latter
378 are platform-specific hardware state, entered upon a Linux re‐
379 quest..
380
381
382 --disable [CSTATES]
383 Similar to '--enable', but specifies the list of C-states to
384 disable.
385
386
387 --pkg-cstate-limit [PKG_CSTATE_LIMIT]
388 Set package C-state limit. The deepest package C-state the plat‐
389 form is allowed to enter. The package C-state limit is config‐
390 ured via MSR {MSR_PKG_CST_CONFIG_CONTROL:#x} (MSR_PKG_CST_CON‐
391 FIG_CONTROL). This model-specific register can be locked by the
392 BIOS, in which case the package C-state limit can only be read,
393 but cannot be modified. This option has package scope.
394
395
396 --c1-demotion [C1_DEMOTION]
397 Enable or disable c1 demotion. Allow/disallow the CPU to demote
398 C6/C7 requests to C1. Use "on" or "off". This option has core
399 scope.
400
401
402 --c1-undemotion [C1_UNDEMOTION]
403 Enable or disable c1 undemotion. Allow/disallow the CPU to
404 un-demote previously demoted requests back from C1 to C6/C7. Use
405 "on" or "off". This option has core scope.
406
407
408 --c1e-autopromote [C1E_AUTOPROMOTE]
409 Enable or disable c1E autopromote. When enabled, the CPU auto‐
410 matically converts all C1 requests to C1E requests. This CPU
411 feature is controlled by MSR 0x1fc, bit 1. Use "on" or "off".
412 This option has package scope.
413
414
415 --cstate-prewake [CSTATE_PREWAKE]
416 Enable or disable c-state prewake. When enabled, the CPU will
417 start exiting the C6 idle state in advance, prior to the next
418 local APIC timer event. This CPU feature is controlled by MSR
419 0x1fc, bit 30. Use "on" or "off". This option has package scope.
420
421
422 --governor [GOVERNOR]
423 Set idle governor. Idle governor decides which C-state to re‐
424 quest on an idle CPU. This option has global scope.
425
426
428 usage: pepc cstates save [-h] [-q] [-d] [--cpus CPUS] [--cores CORES]
429 [--packages PACKAGES] [-o OUTFILE]
430
431 Save all the modifiable C-state settings into a file. This file can
432 later be used for restoring C-state settings with the 'pepc cstates re‐
433 store' command.
434
435
437 -h Show this help message and exit.
438
439
440 -q Be quiet.
441
442
443 -d Print debugging information.
444
445
446 --cpus CPUS
447 List of CPUs to save C-state information about. The list can in‐
448 clude individual CPU numbers and CPU number ranges. For example,
449 '1-4,7,8,10-12' would mean CPUs 1 to 4, CPUs 7, 8, and 10 to 12.
450 Use the special keyword 'all' to specify all CPUs. If the
451 CPUs/cores/packages were not specified, all CPUs will be used as
452 the default value.
453
454
455 --cores CORES
456 List of cores to save C-state information about. The list can
457 include individual core numbers and core number ranges. For ex‐
458 ample, '1-4,7,8,10-12' would mean cores 1 to 4, cores 7, 8, and
459 10 to 12. Use the special keyword 'all' to specify all cores.
460
461
462 --packages PACKAGES
463 List of packages to save C-state information about. The list can
464 include individual package numbers and package number ranges.
465 For example, '1-3' would mean packages 1 to 3, and '1,3' would
466 mean packages 1 and 3. Use the special keyword
467
468
469 -o OUTFILE, --outfile OUTFILE
470 Name of the file to save the settings to.
471
472
474 usage: pepc cstates restore [-h] [-q] [-d] [-f INFILE]
475
476 Restore C-state settings from a file previously created with the 'pepc
477 cstates save' command.
478
479
481 -h Show this help message and exit.
482
483
484 -q Be quiet.
485
486
487 -d Print debugging information.
488
489
490 -f INFILE, --from INFILE
491 Name of the file restore the settings from (use "-" to read from
492 the standard output.
493
494
496 usage: pepc pstates [-h] [-q] [-d] {info,config,save,restore} ...
497
498 Various commands related to P-states (CPU performance states).
499
500
502 -h Show this help message and exit.
503
504
505 -q Be quiet.
506
507
508 -d Print debugging information.
509
510
512 pepc pstates info
513 Get P-states information.
514
515 pepc pstates config
516 Configure P-states.
517
518 pepc pstates save
519 Save P-states settings.
520
521 pepc pstates restore
522 Restore P-states settings.
523
524
526 usage: pepc pstates info [-h] [-q] [-d] [--cpus CPUS] [--cores CORES]
527 [--packages PACKAGES] [--yaml] [--min-freq] [--max-freq]
528 [--min-freq-limit] [--max-freq-limit] [--base-freq] [--min-freq-hw]
529 [--max-freq-hw] [--min-oper-freq]
530 [--max-eff-freq] [--turbo] [--max-turbo-freq]
531 [--min-uncore-freq] [--max-uncore-freq] [--min-uncore-freq-limit]
532 [--max-uncore-freq-limit] [--hwp] [--epp] [--epp-hw] [--epb] [--epb-hw]
533 [--driver]
534 [--intel-pstate-mode] [--governor]
535
536 Get P-states information for specified CPUs. By default, prints all in‐
537 formation for all CPUs.
538
539
541 -h Show this help message and exit.
542
543
544 -q Be quiet.
545
546
547 -d Print debugging information.
548
549
550 --cpus CPUS
551 List of CPUs to get information about. The list can include in‐
552 dividual CPU numbers and CPU number ranges. For example,
553 '1-4,7,8,10-12' would mean CPUs 1 to 4, CPUs 7, 8, and 10 to 12.
554 Use the special keyword 'all' to specify all CPUs. If the
555 CPUs/cores/packages were not specified, all CPUs will be used as
556 the default value.
557
558
559 --cores CORES
560 List of cores to get information about. The list can include in‐
561 dividual core numbers and core number ranges. For example,
562 '1-4,7,8,10-12' would mean cores 1 to 4, cores 7, 8, and 10 to
563 12. Use the special keyword 'all' to specify all cores.
564
565
566 --packages PACKAGES
567 List of packages to get information about. The list can include
568 individual package numbers and package number ranges. For exam‐
569 ple, '1-3' would mean packages 1 to 3, and '1,3' would mean
570 packages 1 and 3. Use the special keyword 'all' to specify all
571 packages.
572
573
574 --yaml Print information in YAML format.
575
576
577 --min-freq
578 Get min. CPU frequency. Minimum CPU frequency is the lowest fre‐
579 quency the operating system configured the CPU to run at (via
580 sysfs knobs). The default unit is "Hz", but "kHz", "MHz", and
581 "GHz" can also be used (for example "900MHz"). The following
582 special values are supported: "min" - minimum CPU frequency sup‐
583 ported by the OS (via Linux sysfs files), "hfm", "base", "P1" -
584 base CPU frequency, "max" - maximum CPU frequency supported by
585 the OS (via Linux sysfs), "eff", "lfm", "Pn" - maximum CPU effi‐
586 ciency frequency. This option has CPU scope.
587
588
589 --max-freq
590 Get max. CPU frequency. Maximum CPU frequency is the highest
591 frequency the operating system configured the CPU to run at (via
592 sysfs knobs). The default unit is "Hz", but "kHz", "MHz", and
593 "GHz" can also be used (for example "900MHz"). The following
594 special values are supported: "min" - minimum CPU frequency sup‐
595 ported by the OS (via Linux sysfs files), "hfm", "base", "P1" -
596 base CPU frequency, "max" - maximum CPU frequency supported by
597 the OS (via Linux sysfs), "eff", "lfm", "Pn" - maximum CPU effi‐
598 ciency frequency. This option has CPU scope.
599
600
601 --min-freq-limit
602 Get min. supported CPU frequency. Minimum supported CPU fre‐
603 quency is the lowest frequency supported by the operating system
604 (reported via sysfs knobs). This option has CPU scope.
605
606
607 --max-freq-limit
608 Get max. supported CPU frequency. Maximum supported CPU fre‐
609 quency is the maximum CPU frequency supported by the operating
610 system (reported via sysfs knobs). This option has CPU scope.
611
612
613 --base-freq
614 Get base CPU frequency. Base CPU frequency is the highest sus‐
615 tainable CPU frequency. This frequency is also referred to as
616 "guaranteed frequency", HFM (High Frequency Mode), or P1. The
617 base frequency is acquired from a sysfs file of from an MSR reg‐
618 ister, if the sysfs file does not exist. This option has CPU
619 scope.
620
621
622 --min-freq-hw
623 Get min. CPU frequency (OS bypass). Minimum frequency the CPU is
624 configured by the OS to run at. This value is read directly from
625 the MSR(s), bypassing the OS. This option has CPU scope.
626
627
628 --max-freq-hw
629 Get max. CPU frequency (OS bypass). Maximum frequency the CPU is
630 configured by the OS to run at. This value is read directly from
631 the MSR(s), bypassing the OS. This option has CPU scope.
632
633
634 --min-oper-freq
635 Get min. CPU operating frequency. Minimum operating frequency is
636 the lowest possible frequency the CPU can operate at. Depending
637 on the CPU model, this frequency may or may not be directly
638 available to the operating system, but the platform may use it
639 in certain situations (e.g., in some C-states). This frequency
640 is also referred to as Pm. Min. operating frequency is acquired
641 from an MSR register, bypassing the OS. This option has CPU
642 scope.
643
644
645 --max-eff-freq
646 Get max. CPU efficiency frequency. Maximum efficiency frequency
647 is the most energy efficient CPU frequency. This frequency is
648 also referred to as LFM (Low Frequency Mode) or Pn. Max. effi‐
649 ciency frequency is acquired from an MSR register, bypassing the
650 OS. This option has CPU scope.
651
652
653 --turbo
654 Get current setting for turbo. When turbo is enabled, the CPUs
655 can automatically run at a frequency greater than base fre‐
656 quency. Turbo on/off status is acquired and modified via sysfs
657 knobs. This option has global scope.
658
659
660 --max-turbo-freq
661 Get max. CPU turbo frequency. Maximum 1-core turbo frequency is
662 the highest frequency a single CPU can operate at. This fre‐
663 quency is also referred to as max. 1-core turbo and P01. It is
664 acquired from an MSR register, bypassing the OS. This option
665 has CPU scope.
666
667
668 --min-uncore-freq
669 Get min. uncore frequency. Minimum uncore frequency is the low‐
670 est frequency the operating system configured the uncore to run
671 at. The default unit is "Hz", but "kHz", "MHz", and "GHz" can
672 also be used (for example "900MHz"). The following special val‐
673 ues are supported: "min" - minimum uncore frequency supported by
674 the OS (via Linux sysfs files), "max" - maximum uncore frequency
675 supported by the OS (via Linux sysfs). This option has die
676 scope.
677
678
679 --max-uncore-freq
680 Get max. uncore frequency. Maximum uncore frequency is the high‐
681 est frequency the operating system configured the uncore to run
682 at. The default unit is "Hz", but "kHz", "MHz", and "GHz" can
683 also be used (for example "900MHz"). The following special val‐
684 ues are supported: "min" - minimum uncore frequency supported by
685 the OS (via Linux sysfs files), "max" - maximum uncore frequency
686 supported by the OS (via Linux sysfs). This option has die
687 scope.
688
689
690 --min-uncore-freq-limit
691 Get min. supported uncore frequency. Minimum supported uncore
692 frequency is the lowest uncore frequency supported by the oper‐
693 ating system. This option has die scope.
694
695
696 --max-uncore-freq-limit
697 Get max. supported uncore frequency. Maximum supported uncore
698 frequency is the highest uncore frequency supported by the oper‐
699 ating system. This option has die scope.
700
701
702 --hwp Get current setting for hardware power management. When hardware
703 power management is enabled, CPUs can automatically scale their
704 frequency without active OS involvement. This option has global
705 scope.
706
707
708 --epp Get EPP (via sysfs). Energy Performance Preference is a hint to
709 the CPU on energy efficiency vs performance. EPP value is a num‐
710 ber in range of 0-255 (maximum energy efficiency to maximum per‐
711 formance), or a policy name. The value is read from or written
712 to the 'energy_performance_preference' Linux sysfs file. This
713 option has CPU scope.
714
715
716 --epp-hw
717 Get EPP (via MSR 0x774). Energy Performance Preference is a hint
718 to the CPU on energy efficiency vs performance. EPP value is a
719 number in range of 0-255 (maximum energy efficiency to maximum
720 performance). When package control is enabled the value is read
721 from MSR 0x772, but when written package control is disabled and
722 value is written to MSR 0x774, both require the 'msr' Linux ker‐
723 nel driver. This option has CPU scope.
724
725
726 --epb Get EPB (via sysfs). Energy Performance Bias is a hint to the
727 CPU on energy efficiency vs performance. EBP value is a number
728 in range of 0-15 (maximum performance to maximum energy effi‐
729 ciency), or a policy name. The value is read from or written to
730 the 'energy_perf_bias' Linux sysfs file. This option has CPU
731 scope.
732
733
734 --epb-hw
735 Get EPB (via MSR 0x1b0). Energy Performance Bias is a hint to
736 the CPU on energy efficiency vs performance. EBP value is a num‐
737 ber in range of 0-15 (maximum performance to maximum energy ef‐
738 ficiency). The value is read from or written to MSR 0x1b0, which
739 requires the 'msr' Linux kernel driver. This option has CPU
740 scope.
741
742
743 --driver
744 Get CPU frequency driver. CPU frequency driver enumerates and
745 requests the P-states available on the platform. This option has
746 global scope.
747
748
749 --intel-pstate-mode
750 Get operation mode of 'intel_pstate' driver. The 'intel_pstate'
751 driver has 3 operation modes: 'active', 'passive' and 'off'. The
752 main difference between the active and passive mode is in what
753 frequency governors are used - the generic Linux governors (pas‐
754 sive mode) or the custom, built-in 'intel_pstate' driver gover‐
755 nors (active mode). This option has global scope.
756
757
758 --governor
759 Get CPU frequency governor. CPU frequency governor decides which
760 P-state to select on a CPU depending on CPU business and other
761 factors. This option has CPU scope.
762
763
765 usage: pepc pstates config [-h] [-q] [-d] [--cpus CPUS] [--cores CORES]
766 [--packages PACKAGES] [--min-freq [MIN_FREQ]] [--max-freq [MAX_FREQ]]
767 [--min-freq-hw [MIN_FREQ_HW]] [--max-freq-hw [MAX_FREQ_HW]] [--turbo
768 [TURBO]]
769 [--min-uncore-freq [MIN_UNCORE_FREQ]]
770 [--max-uncore-freq [MAX_UNCORE_FREQ]] [--epp [EPP]] [--epp-hw [EPP_HW]]
771 [--epb [EPB]] [--epb-hw [EPB_HW]] [--intel-pstate-mode [IN‐
772 TEL_PSTATE_MODE]] [--governor [GOVERNOR]]
773
774 Configure P-states on specified CPUs. All options can be used without a
775 parameter, in which case the currently configured value(s) will be
776 printed.
777
778
780 -h Show this help message and exit.
781
782
783 -q Be quiet.
784
785
786 -d Print debugging information.
787
788
789 --cpus CPUS
790 List of CPUs to configure P-States on. The list can include in‐
791 dividual CPU numbers and CPU number ranges. For example,
792 '1-4,7,8,10-12' would mean CPUs 1 to 4, CPUs 7, 8, and 10 to 12.
793 Use the special keyword 'all' to specify all CPUs. If the
794 CPUs/cores/packages were not specified, all CPUs will be used as
795 the default value.
796
797
798 --cores CORES
799 List of cores to configure P-States on. The list can include in‐
800 dividual core numbers and core number ranges. For example,
801 '1-4,7,8,10-12' would mean cores 1 to 4, cores 7, 8, and 10 to
802 12. Use the special keyword 'all' to specify all cores.
803
804
805 --packages PACKAGES
806 List of packages to configure P-States on. The list can include
807 individual package numbers and package number ranges. For exam‐
808 ple, '1-3' would mean packages 1 to 3, and '1,3' would mean
809 packages 1 and 3. Use the special keyword 'all' to specify all
810 packages.
811
812
813 --min-freq [MIN_FREQ]
814 Set min. CPU frequency. Minimum CPU frequency is the lowest fre‐
815 quency the operating system configured the CPU to run at (via
816 sysfs knobs). The default unit is "Hz", but "kHz", "MHz", and
817 "GHz" can also be used (for example "900MHz"). The following
818 special values are supported: "min" - minimum CPU frequency sup‐
819 ported by the OS (via Linux sysfs files), "hfm", "base", "P1" -
820 base CPU frequency, "max" - maximum CPU frequency supported by
821 the OS (via Linux sysfs), "eff", "lfm", "Pn" - maximum CPU effi‐
822 ciency frequency. This option has CPU scope.
823
824
825 --max-freq [MAX_FREQ]
826 Set max. CPU frequency. Maximum CPU frequency is the highest
827 frequency the operating system configured the CPU to run at (via
828 sysfs knobs). The default unit is "Hz", but "kHz", "MHz", and
829 "GHz" can also be used (for example "900MHz"). The following
830 special values are supported: "min" - minimum CPU frequency sup‐
831 ported by the OS (via Linux sysfs files), "hfm", "base", "P1" -
832 base CPU frequency, "max" - maximum CPU frequency supported by
833 the OS (via Linux sysfs), "eff", "lfm", "Pn" - maximum CPU effi‐
834 ciency frequency. This option has CPU scope.
835
836
837 --min-freq-hw [MIN_FREQ_HW]
838 Set min. CPU frequency (OS bypass). Minimum frequency the CPU is
839 configured by the OS to run at. This value is read directly from
840 the MSR(s), bypassing the OS. This option has CPU scope.
841
842
843 --max-freq-hw [MAX_FREQ_HW]
844 Set max. CPU frequency (OS bypass). Maximum frequency the CPU is
845 configured by the OS to run at. This value is read directly from
846 the MSR(s), bypassing the OS. This option has CPU scope.
847
848
849 --turbo [TURBO]
850 Enable or disable turbo. When turbo is enabled, the CPUs can au‐
851 tomatically run at a frequency greater than base frequency.
852 Turbo on/off status is acquired and modified via sysfs knobs.
853 Use "on" or "off". This option has global scope.
854
855
856 --min-uncore-freq [MIN_UNCORE_FREQ]
857 Set min. uncore frequency. Minimum uncore frequency is the low‐
858 est frequency the operating system configured the uncore to run
859 at. The default unit is "Hz", but "kHz", "MHz", and "GHz" can
860 also be used (for example "900MHz"). The following special val‐
861 ues are supported: "min" - minimum uncore frequency supported by
862 the OS (via Linux sysfs files), "max" - maximum uncore frequency
863 supported by the OS (via Linux sysfs). This option has die
864 scope.
865
866
867 --max-uncore-freq [MAX_UNCORE_FREQ]
868 Set max. uncore frequency. Maximum uncore frequency is the high‐
869 est frequency the operating system configured the uncore to run
870 at. The default unit is "Hz", but "kHz", "MHz", and "GHz" can
871 also be used (for example "900MHz"). The following special val‐
872 ues are supported: "min" - minimum uncore frequency supported by
873 the OS (via Linux sysfs files), "max" - maximum uncore frequency
874 supported by the OS (via Linux sysfs). This option has die
875 scope.
876
877
878 --epp [EPP]
879 Set EPP (via sysfs). Energy Performance Preference is a hint to
880 the CPU on energy efficiency vs performance. EPP value is a num‐
881 ber in range of 0-255 (maximum energy efficiency to maximum per‐
882 formance), or a policy name. The value is read from or written
883 to the 'energy_performance_preference' Linux sysfs file. This
884 option has CPU scope.
885
886
887 --epp-hw [EPP_HW]
888 Set EPP (via MSR 0x774). Energy Performance Preference is a hint
889 to the CPU on energy efficiency vs performance. EPP value is a
890 number in range of 0-255 (maximum energy efficiency to maximum
891 performance). When package control is enabled the value is read
892 from MSR 0x772, but when written package control is disabled and
893 value is written to MSR 0x774, both require the 'msr' Linux ker‐
894 nel driver. This option has CPU scope.
895
896
897 --epb [EPB]
898 Set EPB (via sysfs). Energy Performance Bias is a hint to the
899 CPU on energy efficiency vs performance. EBP value is a number
900 in range of 0-15 (maximum performance to maximum energy effi‐
901 ciency), or a policy name. The value is read from or written to
902 the 'energy_perf_bias' Linux sysfs file. This option has CPU
903 scope.
904
905
906 --epb-hw [EPB_HW]
907 Set EPB (via MSR 0x1b0). Energy Performance Bias is a hint to
908 the CPU on energy efficiency vs performance. EBP value is a num‐
909 ber in range of 0-15 (maximum performance to maximum energy ef‐
910 ficiency). The value is read from or written to MSR 0x1b0, which
911 requires the 'msr' Linux kernel driver. This option has CPU
912 scope.
913
914
915 --intel-pstate-mode [INTEL_PSTATE_MODE]
916 Set operation mode of 'intel_pstate' driver. The 'intel_pstate'
917 driver has 3 operation modes: 'active', 'passive' and 'off'. The
918 main difference between the active and passive mode is in what
919 frequency governors are used - the generic Linux governors (pas‐
920 sive mode) or the custom, built-in 'intel_pstate' driver gover‐
921 nors (active mode). This option has global scope.
922
923
924 --governor [GOVERNOR]
925 Set CPU frequency governor. CPU frequency governor decides which
926 P-state to select on a CPU depending on CPU business and other
927 factors. This option has CPU scope.
928
929
931 usage: pepc pstates save [-h] [-q] [-d] [--cpus CPUS] [--cores CORES]
932 [--packages PACKAGES] [-o OUTFILE]
933
934 Save all the modifiable P-state settings into a file. This file can
935 later be used for restoring P-state settings with the 'pepc pstates re‐
936 store' command.
937
938
940 -h Show this help message and exit.
941
942
943 -q Be quiet.
944
945
946 -d Print debugging information.
947
948
949 --cpus CPUS
950 List of CPUs to save P-state information about. The list can in‐
951 clude individual CPU numbers and CPU number ranges. For example,
952 '1-4,7,8,10-12' would mean CPUs 1 to 4, CPUs 7, 8, and 10 to 12.
953 Use the special keyword 'all' to specify all CPUs. If the
954 CPUs/cores/packages were not specified, all CPUs will be used as
955 the default value.
956
957
958 --cores CORES
959 List of cores to save P-state information about. The list can
960 include individual core numbers and core number ranges. For ex‐
961 ample, '1-4,7,8,10-12' would mean cores 1 to 4, cores 7, 8, and
962 10 to 12. Use the special keyword 'all' to specify all cores.
963
964
965 --packages PACKAGES
966 List of packages to save P-state information about. The list can
967 include individual package numbers and package number ranges.
968 For example, '1-3' would mean packages 1 to 3, and '1,3' would
969 mean packages 1 and 3. Use the special keyword
970
971
972 -o OUTFILE, --outfile OUTFILE
973 Name of the file to save the settings to (printed to standard
974 output by default).
975
976
978 usage: pepc pstates restore [-h] [-q] [-d] [-f INFILE]
979
980 Restore P-state settings from a file previously created with the 'pepc
981 pstates save' command.
982
983
985 -h Show this help message and exit.
986
987
988 -q Be quiet.
989
990
991 -d Print debugging information.
992
993
994 -f INFILE, --from INFILE
995 Name of the file restore the settings from (use "-" to read from
996 the standard output.
997
998
1000 usage: pepc aspm [-h] [-q] [-d] {info,config} ...
1001
1002 Manage Active State Power Management configuration.
1003
1004
1006 -h Show this help message and exit.
1007
1008
1009 -q Be quiet.
1010
1011
1012 -d Print debugging information.
1013
1014
1016 pepc aspm info
1017 Get PCI ASPM information.
1018
1019 pepc aspm config
1020 Change PCI ASPM configuration.
1021
1022
1024 usage: pepc aspm info [-h] [-q] [-d]
1025
1026 Get information about current PCI ASPM configuration.
1027
1028
1030 -h Show this help message and exit.
1031
1032
1033 -q Be quiet.
1034
1035
1036 -d Print debugging information.
1037
1038
1040 usage: pepc aspm config [-h] [-q] [-d] [--policy [POLICY]]
1041
1042 Change PCI ASPM configuration.
1043
1044
1046 -h Show this help message and exit.
1047
1048
1049 -q Be quiet.
1050
1051
1052 -d Print debugging information.
1053
1054
1055 --policy [POLICY]
1056 the PCI ASPM policy to set, use "default" to set the Linux de‐
1057 fault policy.
1058
1059
1061 usage: pepc topology [-h] [-q] [-d] {info} ...
1062
1063 Various commands related to CPU topology.
1064
1065
1067 -h Show this help message and exit.
1068
1069
1070 -q Be quiet.
1071
1072
1073 -d Print debugging information.
1074
1075
1077 pepc topology info
1078 Print CPU topology.
1079
1080
1082 usage: pepc topology info [-h] [-q] [-d] [--order ORDER] [--cpus CPUS]
1083 [--cores CORES] [--packages PACKAGES] [--online-only] [--columns COL‐
1084 UMNS]
1085
1086 Print CPU topology information. Note, the topology information for some
1087 offline CPUs may be unavailable, in these cases the number will be sub‐
1088 stituted with "?".
1089
1090
1092 -h Show this help message and exit.
1093
1094
1095 -q Be quiet.
1096
1097
1098 -d Print debugging information.
1099
1100
1101 --order ORDER
1102 By default, the topology table is printed in CPU number order.
1103 Use this option to print it in a different order (e.g., core or
1104 package number order). Here are the supported order names: cpu,
1105 core, module, die, node, package.
1106
1107
1108 --cpus CPUS
1109 List of CPUs to print topology information for. The list can in‐
1110 clude individual CPU numbers and CPU number ranges. For example,
1111 '1-4,7,8,10-12' would mean CPUs 1 to 4, CPUs 7, 8, and 10 to 12.
1112 Use the special keyword 'all' to specify all CPUs. If the
1113 CPUs/cores/packages were not specified, all CPUs will be used as
1114 the default value.
1115
1116
1117 --cores CORES
1118 List of cores to print topology information for. The list can
1119 include individual core numbers and core number ranges. For ex‐
1120 ample, '1-4,7,8,10-12' would mean cores 1 to 4, cores 7, 8, and
1121 10 to 12. Use the special keyword 'all' to specify all cores.
1122
1123
1124 --packages PACKAGES
1125 List of packages to print topology information for. The list can
1126 include individual package numbers and package number ranges.
1127 For example, '1-3' would mean packages 1 to 3, and '1,3' would
1128 mean packages 1 and 3. Use the special keyword
1129
1130
1131 --online-only
1132 Include only online CPUs. By default offline and online CPUs are
1133 included.
1134
1135
1136 --columns COLUMNS
1137 By default, the topology columns are CPU, core, module, die,
1138 node, package. Use this option to select topology columns names
1139 and order (e.g.,'--columns Package,Core,CPU').
1140
1141
1143 Artem Bityutskiy
1144 dedekind1@gmail.com
1145
1146
1148 The latest version of pepc may be downloaded from
1149 ⟨https://github.com/intel/pepc⟩
1150
1151
1152
1153pepc 2023-01-20 PEPC(1)