性能在显示LLC负载时失败

性能在显示LLC负载时失败,c,multithreading,caching,profiling,perf,C,Multithreading,Caching,Profiling,Perf,虽然我在性能列表中列出了LLC加载和LLC加载未命中,但如果我运行: 性能统计-重复2-e周期:u-e指令:u-e LLC加载-e LLC加载未命中二进制参数 在我的Linux机器上,LLC加载和LLC加载未命中都得到0。我还尝试了性能记录+性能报告。有人知道为什么吗?CPU是E5-2670 Sandy Bridge 是x86_64体系结构吗?性能列表始终列出内核中定义的所有事件。有一组预定义的事件始终没有完全实现:要么旧内核无法将某些事件映射到硬件;或者您的硬件没有此类性能计数器;或者你没有访

虽然我在性能列表中列出了LLC加载和LLC加载未命中,但如果我运行:

性能统计-重复2-e周期:u-e指令:u-e LLC加载-e LLC加载未命中二进制参数


在我的Linux机器上,LLC加载和LLC加载未命中都得到0。我还尝试了性能记录+性能报告。有人知道为什么吗?CPU是E5-2670 Sandy Bridge

是x86_64体系结构吗?性能列表始终列出内核中定义的所有事件。有一组预定义的事件始终没有完全实现:要么旧内核无法将某些事件映射到硬件;或者您的硬件没有此类性能计数器;或者你没有访问事件的权限???使用sudo或root用户进行尝试。您可以检查perf list中列出的其他事件,或者更新内核(如果它是旧的)。LL计数器是在2011年实现的:@osgx Yes,它们在perf list中列出,并且内核比2011年更新。a3mlord,您可以尝试github上的andikleen/pmu工具,它比perf列表中的预定义事件更好地支持带有ocperf的英特尔硬件性能监视器。您还可以尝试使用pmu工具中的toplev.py查找要检查的计数器;或者阅读英特尔手册以获得正确的计数器名称请提供内核版本uname-a