最近我正在挖掘性能計數器的東西。我搜索了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