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

简单的缓存分析API

有没有办法以编程方式访问每个核心的(Intel)硬件计数器? (也就是说,没有perf,perfmon或valgrind,我应该添加“简单”,所以没有PAPI,例如)我想知道(对于每个核心)有多少L1-LLC缓存命中/错过它(= a招致的是在该核心上运行的某个程序.这适用于Linux 3.2.0-32,C和使用GCC.

最佳答案
处理器中的性能计数器无法从“用户模式”代码中读取,因此您需要某种内核模块来执行此操作.一旦你有了它,它并不是非常难,有许多MSR.

您也可以使用/ dev / cpu / core-number / msr在没有内核模块的情况下读取值.

要描述你如何做到这一点的所有细节,对于一个答案来说有点太多了(除非我复制””””””””””””””””””””””””””””””””””””””’ ..)

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

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

相关推荐