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] [--core-siblings CORE_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.  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

COMMAND 'pepc cstates'

198       usage: pepc cstates [-h] [-q] [-d] {info,config,save,restore} ...
199
200       Various commands related to CPU C-states.
201
202

OPTIONS 'pepc cstates'

204       -h     Show this help message and exit.
205
206
207       -q     Be quiet.
208
209
210       -d     Print debugging information.
211
212

FURTHER SUB-COMMANDS 'pepc cstates'

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

COMMAND 'pepc cstates info'

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

OPTIONS 'pepc cstates info'

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

COMMAND 'pepc cstates config'

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

OPTIONS 'pepc cstates config'

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

COMMAND 'pepc cstates save'

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

OPTIONS 'pepc cstates save'

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

COMMAND 'pepc cstates restore'

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

OPTIONS 'pepc cstates restore'

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

COMMAND 'pepc pstates'

537       usage: pepc pstates [-h] [-q] [-d] {info,config,save,restore} ...
538
539       Various commands related to P-states (CPU performance states).
540
541

OPTIONS 'pepc pstates'

543       -h     Show this help message and exit.
544
545
546       -q     Be quiet.
547
548
549       -d     Print debugging information.
550
551

FURTHER SUB-COMMANDS 'pepc pstates'

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

COMMAND 'pepc pstates info'

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

OPTIONS 'pepc pstates info'

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

COMMAND 'pepc pstates config'

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

OPTIONS 'pepc pstates config'

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

COMMAND 'pepc pstates save'

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

OPTIONS 'pepc pstates save'

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

COMMAND 'pepc pstates restore'

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

OPTIONS 'pepc pstates restore'

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

COMMAND 'pepc aspm'

1071       usage: pepc aspm [-h] [-q] [-d] {info,config} ...
1072
1073       Manage Active State Power Management configuration.
1074
1075

OPTIONS 'pepc aspm'

1077       -h     Show this help message and exit.
1078
1079
1080       -q     Be quiet.
1081
1082
1083       -d     Print debugging information.
1084
1085

FURTHER SUB-COMMANDS 'pepc aspm'

1087       pepc aspm info
1088              Get PCI ASPM information.
1089
1090       pepc aspm config
1091              Change PCI ASPM configuration.
1092
1093

COMMAND 'pepc aspm info'

1095       usage: pepc aspm info [-h] [-q] [-d]
1096
1097       Get information about current PCI ASPM configuration.
1098
1099

OPTIONS 'pepc aspm info'

1101       -h     Show this help message and exit.
1102
1103
1104       -q     Be quiet.
1105
1106
1107       -d     Print debugging information.
1108
1109

COMMAND 'pepc aspm config'

1111       usage: pepc aspm config [-h] [-q] [-d] [--policy [POLICY]]
1112
1113       Change PCI ASPM configuration.
1114
1115

OPTIONS 'pepc aspm config'

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

COMMAND 'pepc topology'

1132       usage: pepc topology [-h] [-q] [-d] {info} ...
1133
1134       Various commands related to CPU topology.
1135
1136

OPTIONS 'pepc topology'

1138       -h     Show this help message and exit.
1139
1140
1141       -q     Be quiet.
1142
1143
1144       -d     Print debugging information.
1145
1146

FURTHER SUB-COMMANDS 'pepc topology'

1148       pepc topology info
1149              Print CPU topology.
1150
1151

COMMAND 'pepc topology info'

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

OPTIONS 'pepc topology info'

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

AUTHORS

1225       Artem Bityutskiy
1226       dedekind1@gmail.com
1227
1228

DISTRIBUTION

1230       The   latest   version    of    pepc    may    be    downloaded    from
1231https://github.com/intel/pepc
1232
1233
1234
1235pepc                              2023-03-16                           PEPC(1)
Impressum