我正在尝试使用perf记录来记录15个硬件和跟踪点事件。
我想了解以下内容:
基于事件的采样:从我理解的文档中,只要对应于该事件的64位计数器将过度流动,就会对采样记录进行采样。是对的吗?计数器会在~2 ^ 64次此类事件后溢出?
当我有更多要测量的事件而不是PMU /计数器的数量时,我是否必须通过任何特定的开关才能使用多路复用。溢出事件如何在存在多路复用时表现。
开关“-c”的用途/用途是什么?我可以使用此开关使计数器溢出每个n事件吗?
请帮忙。
答案 0 :(得分:1)
计数器会在~2 ^ 64次此类事件后溢出?
那是correct。
我是否必须通过任何特定的开关才能使用多路复用。
没有。 (使用-C
选项会有效地阻止它。)
如果事件多于计数器,则内核使用时间 多路复用(开关频率= HZ,一般为100或1000)给出 每个事件都有机会访问监控硬件。
交换机“-c”的目的是什么?
是的,你是对的。开关-c
允许您指定采样周期。这意味着如果您将采样周期指定为2,则在每个第2个事件处,计数器将溢出。然后,事件发生时的所有信息(如架构状态等)都将被记录到缓冲区中。