linux – 使用perf监视原始事件计数器
我试图测量具有多个(物理)处理器的(Intel Xeon)机器上的某些硬件事件.具体来说,我想知道为读取’offcore’数据发出了多少请求.
我在Intels文档中找到了the OFFCORE_REQUESTS硬件事件,它给出了事件描述符0xB0和数据需求,附加掩码0x01. 然后告诉perf记录事件0xB1(即0xB0 | 0x01)并将其称为: perf record -e r0B1 ./mytestapp someargs 或者这是不正确的? 这个领域的perf文档相当稀疏,除了tutorial entry之外没有说明它是哪个事件(尽管这个对我有用),或者它是如何编码的…… 任何帮助是极大的赞赏. 解决方法
好的,所以我想我明白了.
对于我使用的Intel机器,格式如下: 因此,对于带有掩码0x01的事件0xB0,我可以调用: perf record -e r1B0 ./mytestapp someargs 我无法在perf内核代码中找到它的确切解析(这里有任何内核黑客?),但我找到了这些来源: > the c’t magazine 13/03 (subscription required)中使用perf与原始事件的描述,其中描述了一些原始事件及其描述来自英特尔架构软件开发人员Manuel(第3b卷) 更新:正如评论中指出的那样(谢谢!),libpfm转换器可用于获取正确的事件描述符.用户’osgx’发现的评论中链接的网站(Bojan Nikolic:如何监控所有CPU性能事件)更详细地解释了它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |