加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – perf事件文档

发布时间:2020-12-13 19:45:04 所属栏目:Linux 来源:网络整理
导读:我搜索了perf stat命令监视的每个事件的含义的详尽解释; 我发现了一个tutorial,它很好地解释了如何使用perf工具的不同功能.然而,它并没有解释可以观察到的几个事件的意义(并且有很多!!). 有人知道在哪里是一个非常简单和完整的文件,关于perf列表命令列出的事
我搜索了perf stat命令监视的每个事件的含义的详尽解释;

我发现了一个tutorial,它很好地解释了如何使用perf工具的不同功能.然而,它并没有解释可以观察到的几个事件的意义(并且有很多!!).

有人知道在哪里是一个非常简单和完整的文件,关于perf列表命令列出的事件?

特别是,我有兴趣找出我写的一些应用程序使用的cpu的百分比.
我可以通过cpu-clock还是task-clock直接测量?
这两个事件的意思是什么?

提前致谢

解决方法

perf工具使用性能计数器,其含义记录在处理器手册中.对于intel处理器,这是英特尔?64和IA-32架构开发人员手册:Vol. 3B,附录A.

http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html

有些复杂的事情是,perf使用“象征性”的名字.这些名称和处理器事件类型之间的映射可以在内核源中找到.对于intel处理器,这是在arch / x86 / kernel / cpu / perf_event_intel.c中.

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/x86/kernel/cpu/perf_event_intel.c?id=dea4f48a0a301b23c65af8e4fe8ccf360c272fbf#n2367

例如,perf事件“stalled-cycles-frontend”映射到

/* UOPS_ISSUED.STALLED_CYCLES */
    intel_perfmon_event_map[PERF_COUNT_HW_STALLED_CYCLES_FRONTEND] =
        X86_CONFIG(.event=0x0e,.umask=0x01,.inv=1,.cmask=1);

这被记录为

Counts the number of cycles no Uops issued by the Register Allocation
Table to the Reservation Station,i.e. the UOPs issued from the front
end to the back end.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读