不支持性能内存错误事件 'cpu/mem-stores/P'

perf mem error event 'cpu/mem-stores/P' not supported

当我运行

[bin]$ perf mem record
I get
failed: event 'cpu/mem-stores/P' not supported

bin]$ uname -a
Linux 3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

bin]$ perf --version
perf version 3.10.0-693.21.1.el7.x86_64.debug

有什么方法可以找到我收到此错误的原因吗?它是受 perf 版本的限制还是仅限于 sudo 用户(我不是)或者我的硬件不支持这些事件?

仅供参考 在机器上,如果我 运行 下面的命令

[bin]$ perf mem record -e list
ldlat-loads  : available
ldlat-stores

分析存储内存访问(精确存储)在 Sandy Bridge 及更高版本上可用。因此,您的 CPU 不支持它。但是,正如该工具的输出所示,支持负载分析。

默认情况下,加载和存储都会被分析。但是由于您的 CPU 不支持 Precise Store,该工具会发出错误。因此,您只能通过传递 -t load 开关来分析负载。