微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 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.

原文地址:https://www.jb51.cc/linux/393524.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐