Нет аппаратных событий в списке perf на ПК с процессором Intel Core i7-4770, на котором работает Ubuntu Server?
У меня есть рабочий стол Dell с процессором Intel Core i7-4770 @ 3,4 ГГц.
Там я установил Ubuntu server 15.04. После этого я установил linux-tools-generic
а также linux-tools-common
установить перф инструменты. Тем не менее, когда я бегу perf list
аппаратного раздела там нет, даже "не поддерживается". Единственное, что я сделал раньше, это установил xen, и Ubuntu в настоящее время работает как Dom0. Я не уверен, может ли это повлиять на мою проблему.
Вот что я получаю от команды perf list
:
ubuntuuser@ubuntu:~/work/linux$ perf list
List of pre-defined events (to be used in -e):
cpu-clock [Software event]
task-clock [Software event]
page-faults OR faults [Software event]
context-switches OR cs [Software event]
cpu-migrations OR migrations [Software event]
minor-faults [Software event]
major-faults [Software event]
alignment-faults [Software event]
emulation-faults [Software event]
dummy [Software event]
power/energy-cores/ [Kernel PMU event]
power/energy-gpu/ [Kernel PMU event]
power/energy-pkg/ [Kernel PMU event]
power/energy-ram/ [Kernel PMU event]
rNNN [Raw hardware event descriptor]
cpu/t1=v1[,t2=v2,t3 ...]/modifier [Raw hardware event descriptor]
(see 'man perf-list' on how to encode it)
mem:<addr>[:access] [Hardware breakpoint]
[ Tracepoints not available: Permission denied ]
Я хотел бы знать, в чем моя проблема? Сам процессор не поддерживает аппаратные события? Или это ядро из репозитория, у которого не включены аппаратные события? Если это просто ядро, я думаю, мне просто нужно
1 ответ
Я не получил никаких аппаратных событий в списке, пока я не использовал некоторые из них. Теперь, даже после новой перезагрузки, некоторые из них перечислены:
doug@s15:~$ perf list hw
List of pre-defined events (to be used in -e):
branch-instructions OR branches [Hardware event]
branch-misses [Hardware event]
bus-cycles [Hardware event]
cache-misses [Hardware event]
cache-references [Hardware event]
cpu-cycles OR cycles [Hardware event]
instructions [Hardware event]
ref-cycles [Hardware event]
stalled-cycles-backend OR idle-cycles-backend [Hardware event]
stalled-cycles-frontend OR idle-cycles-frontend [Hardware event]
doug@s15:~$ perf list pmu
List of pre-defined events (to be used in -e):
branch-instructions OR cpu/branch-instructions/ [Kernel PMU event]
branch-misses OR cpu/branch-misses/ [Kernel PMU event]
bus-cycles OR cpu/bus-cycles/ [Kernel PMU event]
cache-misses OR cpu/cache-misses/ [Kernel PMU event]
cache-references OR cpu/cache-references/ [Kernel PMU event]
cpu-cycles OR cpu/cpu-cycles/ [Kernel PMU event]
instructions OR cpu/instructions/ [Kernel PMU event]
mem-loads OR cpu/mem-loads/ [Kernel PMU event]
mem-stores OR cpu/mem-stores/ [Kernel PMU event]
power/energy-cores/ [Kernel PMU event]
power/energy-gpu/ [Kernel PMU event]
power/energy-pkg/ [Kernel PMU event]
ref-cycles OR cpu/ref-cycles/ [Kernel PMU event]
stalled-cycles-backend OR cpu/stalled-cycles-backend/ [Kernel PMU event]
stalled-cycles-frontend OR cpu/stalled-cycles-frontend/ [Kernel PMU event]
uncore_cbox_0/clockticks/ [Kernel PMU event]
uncore_cbox_1/clockticks/ [Kernel PMU event]
uncore_cbox_2/clockticks/ [Kernel PMU event]
uncore_cbox_3/clockticks/ [Kernel PMU event]
uncore_imc/data_reads/ [Kernel PMU event]
uncore_imc/data_writes/ [Kernel PMU event]
Ранее я сделал это:
doug@s15:~$ sudo ~/bin/perf stat -a sleep 5
Performance counter stats for 'system wide':
39997.230896 task-clock (msec) # 7.998 CPUs utilized (100.00%)
396 context-switches # 0.010 K/sec (100.00%)
8 cpu-migrations # 0.000 K/sec (100.00%)
82 page-faults # 0.002 K/sec
359,328,178 cycles # 0.009 GHz (83.29%)
827,261,275 stalled-cycles-frontend # 230.22% frontend cycles idle (83.33%)
797,161,705 stalled-cycles-backend # 221.85% backend cycles idle (66.74%)
49,220,050 instructions # 0.14 insns per cycle
# 16.81 stalled cycles per insn (83.37%)
10,011,396 branches # 0.250 M/sec (83.37%)
1,800,790 branch-misses # 17.99% of all branches (83.29%)
5.000925953 seconds time elapsed
doug@s15:~$ sudo ~/bin/perf stat -e cycles,instructions,cache-references,cache-misses,bus-cycles -a sleep 5
Performance counter stats for 'system wide':
24,268,338 cycles (100.00%)
8,505,561 instructions # 0.35 insns per cycle (100.00%)
657,099 cache-references (100.00%)
73,174 cache-misses # 11.136 % of all cache refs (100.00%)
1,507,017 bus-cycles
5.001004407 seconds time elapsed
doug@s15:~$ sudo ~/bin/perf stat -e L1-dcache-loads,L1-dcache-load-misses,L1-dcache-stores sleep 5
Performance counter stats for 'sleep 5':
170,208 L1-dcache-loads
14,139 L1-dcache-load-misses # 8.31% of all L1-dcache hits
<not counted> L1-dcache-stores (0.00%)
5.000957676 seconds time elapsed
Я не знаю, как мой список завершен, и как получить полный список, если это не так.