linux – perf事件文档

前端之家收集整理的这篇文章主要介绍了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.f2er.com/linux/393524.html

猜你在找的Linux相关文章