有没有办法找出 perf (Linux分析工具)中预定义事件的原始编码?
例如,我们使用perf stat -e instructions userexecutable
来计算指令数。 perf 可以显示事件“指令”的原始编码吗?
答案 0 :(得分:2)
您可以查看位于/sys/devices/cpu/events/
答案 1 :(得分:1)
没有我会注意到。请注意,事件是特定于处理器的。例如,在Power8上,指令由结构(libpfm4 source)引用:
[ POWER8_PME_PM_INST_CMPL ] = {
.pme_name = "PM_INST_CMPL",
.pme_code = 0x2,
.pme_short_desc = "Number of PowerPC Instructions that completed.",
.pme_long_desc = "PPC Instructions Finished (completed).",
},
可以使用
收集指令计数perf stat -e r2 userexecutable
对于您的处理器,会有类似的转换,但我不知道任何较少的手动方式。