В моей системе используется процессор Intel(R) Xeon(R) Gold и Centos, версия ядра Linux 5.5.2.
вывод версии perf: 5.5.2-1.el7.elrepo.x86_64
Я не буду получать энергопотребление каждого ядра. поэтому я попробовал это.
>>> sudo perf stat -a -r 1 -e "power/energy-cores/" ./run
event syntax error: 'power/energy-cores/'
\___ unknown term
valid terms: event,config,config1,config2,name,period,percore
Initial error:
event syntax error: 'power/energy-cores/'
\___ unknown term
valid terms: event,config,config1,config2,name,period,percore
Run 'perf list' for a list of valid events
Usage: perf stat [<options>] [<command>]
-e, --event <event> event selector. use 'perf list' to list available event
Как видите, произошла ошибка.
Поэтому я заглянул в каталог /sys/bus/event_source/devices/power/events
, чтобы увидеть, какие события здесь были.
под результатами.
>>> ls /sys/bus/event_source/devices/power/events
energy-pkg energy-pkg.scale energy-pkg.unit energy-ram energy-ram.scale energy-ram.unit
Я не вижу вариант power/energy-cores
. Просто у меня есть только вариант power/energy-pkg
и power/energy-ram
.
а у некоторых людей было power/energy-gpu
.
Как получить energy-cores
и energy-gpu
?
>>> perf list | grep energy
power/energy-pkg/ [Kernel PMU event]
power/energy-ram/ [Kernel PMU event]
>>> sudo perf stat -a -r 1 -e "power/energy-pkg/" -e "power/energy-ram/" ./run
6765
Performance counter stats for 'system wide':
0.06 Joules power/energy-pkg/
0.01 Joules power/energy-ram/
0.001452589 seconds time elapsed