最近我正在挖掘性能计数器的东西。我搜索了perfmon2和libpfm4 http://perfmon2.sourceforge.net/,并且我还发现了perf命令https://perf.wiki.kernel.org/index.php/Main_Page,并发布了linux的内核源代码。 the perf source code link我玩过libpfm4和perf命令,而libpfm4似乎只能提供cpu的周期数或指令数。perf命令和perfmon2或libpfm4之间的区别是什么
我找不到任何示例代码或可运行的示例如何检索似乎可以通过使用perf获得的L1-dcache-loads信息,我在stackoverflow上查找并找到了讨论perf命令和libpfm4之间关系的文章:Using Hardware Performance Counters in Linux人们说libpfm4的作者对perf命令的贡献者之一Ingo感到愤怒,但后来他实际上帮助检查了perf的代码。
因此,有人可以用perf命令解释perfmon2或libpfm4之间的关系。我可以像使用perf命令一样使用libpfm4检索L1-dcache之类的信息。非常感谢你!
有一个网页[link](http:// www.hpl.hp.com/research/linux/perfmon/perfmon.php4)给出了perfmon内核接口的概述。但它表示papi基于PerfCtr接口,并且这些接口都不是官方内核源代码树的一部分。所以我没有深入研究。我只是看着papi的主页,看起来papi已经改进了很多。然而,perf命令在官方的内核源码树下,它确实提供了强大的功能。在探索其源代码之后,似乎以某种方式提取特定功能非常复杂。谢啦! – dotcomXY