【问题标题】:Time Based Profiling with perf record使用性能记录进行基于时间的分析
【发布时间】:2017-08-04 10:05:35
【问题描述】:

您能告诉我在使用性能记录时如何获取每个样本的事件计数器的值吗?

例如:

perf record -F 100 -e instructions ./program

使用性能报告,我只看到开销。但是我想知道是否有办法查看每个样本的计数器的值...

【问题讨论】:

  • 检查perf stat-I 时间周期采样模式;对于带有记录的基于时间的采样,使用-e cpu-clock 事件和-c 用于精确的事件计数(-F 将在采样中断之间进行自动调整以保持采样率在您的请求附近)。 Perf 脚本只解析 perf.data 中记录的内容,它只显示事件样本和每个样本的时间戳。
  • @osgx 谢谢。我实际上已经尝试将 perf stat 与 -I 命令一起使用,但是因为工作负载的执行时间在 10 毫秒以下非常短,而 perf stat -I 允许的最短时间是 10 毫秒,所以这个命令对我来说不是那么有用。因此,我使用了 perf 脚本并过滤了我感兴趣的工作负载样本以及它们的时间戳和事件计数...感谢您的评论...

标签: performancecounter perf


【解决方案1】:

如果其他人面临同样的问题,我会回答我自己的问题。

为了查看采样的时间和当时计数器的值,可以在执行perf record后使用perf script

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多