1PEPC(1)                     Generated Python Manual                    PEPC(1)
2
3
4

NAME

6       pepc
7

SYNOPSIS

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

DESCRIPTION

14       pepc - Power, Energy, and Performance Configuration tool for Linux.
15
16

OPTIONS

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

COMMANDS

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

COMMAND 'pepc cpu-hotplug'

83       usage: pepc cpu-hotplug [-h] [-q] [-d] {info,online,offline} ...
84
85       CPU online/offline commands.
86
87

OPTIONS 'pepc cpu-hotplug'

89       -h     Show this help message and exit.
90
91
92       -q     Be quiet.
93
94
95       -d     Print debugging information.
96
97

FURTHER SUB-COMMANDS 'pepc cpu-hotplug'

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

COMMAND 'pepc cpu-hotplug info'

110       usage: pepc cpu-hotplug info [-h] [-q] [-d]
111
112       List online and offline CPUs.
113
114

OPTIONS 'pepc cpu-hotplug info'

116       -h     Show this help message and exit.
117
118
119       -q     Be quiet.
120
121
122       -d     Print debugging information.
123
124

COMMAND 'pepc cpu-hotplug online'

126       usage: pepc cpu-hotplug online [-h] [-q] [-d] [--cpus CPUS]
127
128       Bring CPUs online.
129
130

OPTIONS 'pepc cpu-hotplug online'

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

COMMAND 'pepc cpu-hotplug offline'

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

OPTIONS 'pepc cpu-hotplug offline'

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

COMMAND 'pepc cstates'

189       usage: pepc cstates [-h] [-q] [-d] {info,config,save,restore} ...
190
191       Various commands related to CPU C-states.
192
193

OPTIONS 'pepc cstates'

195       -h     Show this help message and exit.
196
197
198       -q     Be quiet.
199
200
201       -d     Print debugging information.
202
203

FURTHER SUB-COMMANDS 'pepc cstates'

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

COMMAND 'pepc cstates info'

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

OPTIONS 'pepc cstates info'

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

COMMAND 'pepc cstates config'

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

OPTIONS 'pepc cstates config'

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

COMMAND 'pepc cstates save'

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

OPTIONS 'pepc cstates save'

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

COMMAND 'pepc cstates restore'

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

OPTIONS 'pepc cstates restore'

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

COMMAND 'pepc pstates'

496       usage: pepc pstates [-h] [-q] [-d] {info,config,save,restore} ...
497
498       Various commands related to P-states (CPU performance states).
499
500

OPTIONS 'pepc pstates'

502       -h     Show this help message and exit.
503
504
505       -q     Be quiet.
506
507
508       -d     Print debugging information.
509
510

FURTHER SUB-COMMANDS 'pepc pstates'

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

COMMAND 'pepc pstates info'

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

OPTIONS 'pepc pstates info'

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

COMMAND 'pepc pstates config'

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

OPTIONS 'pepc pstates config'

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

COMMAND 'pepc pstates save'

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

OPTIONS 'pepc pstates save'

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

COMMAND 'pepc pstates restore'

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

OPTIONS 'pepc pstates restore'

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

COMMAND 'pepc aspm'

1000       usage: pepc aspm [-h] [-q] [-d] {info,config} ...
1001
1002       Manage Active State Power Management configuration.
1003
1004

OPTIONS 'pepc aspm'

1006       -h     Show this help message and exit.
1007
1008
1009       -q     Be quiet.
1010
1011
1012       -d     Print debugging information.
1013
1014

FURTHER SUB-COMMANDS 'pepc aspm'

1016       pepc aspm info
1017              Get PCI ASPM information.
1018
1019       pepc aspm config
1020              Change PCI ASPM configuration.
1021
1022

COMMAND 'pepc aspm info'

1024       usage: pepc aspm info [-h] [-q] [-d]
1025
1026       Get information about current PCI ASPM configuration.
1027
1028

OPTIONS 'pepc aspm info'

1030       -h     Show this help message and exit.
1031
1032
1033       -q     Be quiet.
1034
1035
1036       -d     Print debugging information.
1037
1038

COMMAND 'pepc aspm config'

1040       usage: pepc aspm config [-h] [-q] [-d] [--policy [POLICY]]
1041
1042       Change PCI ASPM configuration.
1043
1044

OPTIONS 'pepc aspm config'

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

COMMAND 'pepc topology'

1061       usage: pepc topology [-h] [-q] [-d] {info} ...
1062
1063       Various commands related to CPU topology.
1064
1065

OPTIONS 'pepc topology'

1067       -h     Show this help message and exit.
1068
1069
1070       -q     Be quiet.
1071
1072
1073       -d     Print debugging information.
1074
1075

FURTHER SUB-COMMANDS 'pepc topology'

1077       pepc topology info
1078              Print CPU topology.
1079
1080

COMMAND 'pepc topology info'

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

OPTIONS 'pepc topology info'

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

AUTHORS

1143       Artem Bityutskiy
1144       dedekind1@gmail.com
1145
1146

DISTRIBUTION

1148       The    latest    version    of    pepc    may    be   downloaded   from
1149https://github.com/intel/pepc
1150
1151
1152
1153pepc                              2023-01-20                           PEPC(1)
Impressum