perf记录-c选项和溢出事件之间的关系?

时间:2012-10-22 02:28:33

标签: linux performance cpu performancecounter perf

我正在尝试使用perf记录来记录15个硬件和跟踪点事件。

我想了解以下内容:

  1. 基于事件的采样:从我理解的文档中,只要对应于该事件的64位计数器将过度流动,就会对采样记录进行采样。是对的吗?计数器会在~2 ^ 64次此类事件后溢出?

  2. 当我有更多要测量的事件而不是PMU /计数器的数量时,我是否必须通过任何特定的开关才能使用多路复用。溢出事件如何在存在多路复用时表现。

  3. 开关“-c”的用途/用途是什么?我可以使用此开关使计数器溢出每个n事件吗?

  4. 请帮忙。

1 个答案:

答案 0 :(得分:1)

计数器会在~2 ^ 64次此类事件后溢出?

那是correct

我是否必须通过任何特定的开关才能使用多路复用。

没有。 (使用-C选项会有效地阻止它。)

On multiplexing

  

如果事件多于计数器,则内核使用时间   多路复用(开关频率= HZ,一般为100或1000)给出   每个事件都有机会访问监控硬件。

交换机“-c”的目的是什么?

是的,你是对的。开关-c允许您指定采样周期。这意味着如果您将采样周期指定为2,则在每个第2个事件处,计数器将溢出。然后,事件发生时的所有信息(如架构状态等)都将被记录到缓冲区中。