在运行 Linux 的 Intel 或 AMD x86-64 系统上,我在哪里/如何找到我的 CPU 拥有的硬件性能计数器的数量?
我想perf
在执行某些应用程序时使用 Linux 工具来收集硬件性能计数器数据。perf wiki 的教程说,如果我指定(使用-e
标志perf stat
或perf record
)比我的 CPU 中的性能计数器更多的硬件事件,那么这些事件将在执行期间在计数器上多路复用,从而允许它们在一个单一的perf
命令,但可能会降低准确性,因为并非所有计数器都一直处于活动状态。(请注意,我在这里关注硬件事件,例如缓存和 TLB 行为 - 我知道可以跟踪大量/无限数量的内核软件跟踪点而不会不准确)。
如果我找到我的处理器型号,是否有英特尔/AMD 网站可以找到此信息?我可以在系统上运行一个简单的命令来检查硬件计数器的数量吗?我检查了 and 的输出cat /proc/cpuinfo
,x86info -a
但找不到此信息。