找出CPU有多少硬件性能计数器

时间:2014-01-17 07:04:56

标签: linux x86-64 intel perf papi

在运行Linux的Intel或AMD x86-64系统上,我在哪里/如何找出我的CPU所拥有的硬件性能计数器的数量?

我想使用Linux perf工具在执行某些应用程序时收集硬件性能计数器数据。 perf wiki的tutorial表示如果我指定(使用-e标志到perf statperf record)比我的CPU中的性能计数器更多的硬件事件,那么这些事件将在执行期间在计数器上多路复用,允许在单个perf命令期间跟踪它们,但可能会降低准确性,因为并非所有计数器始终处于活动状态。 (请注意,我关注这里的硬件事件,例如缓存和TLB行为 - 我知道可以跟踪大量/无限数量的内核软件跟踪点而不会出现不准确的情况。)

如果我找到我的处理器型号,是否有可以找到此信息的Intel / AMD网站?是否有一个简单的命令可以在系统上运行以检查硬件计数器的数量?我检查了cat /proc/cpuinfox86info -a的输出,但找不到此信息。

1 个答案:

答案 0 :(得分:10)

关于英特尔处理器,您可以:

  

PAPI版本:5.1.1.0

     

供应商字符串和代码:GenuineIntel(1)

     

型号字符串和代码:Intel(R)Core(TM)i5-2520M CPU @ 2.50GHz(42)

     

CPU版本:7.000000

     

CPUID信息:家庭:6型号:42步进:7

     

CPU Max Megahertz:2494

     

CPU Min Megahertz:2494

     

每个核心的Hdw线程:2

     

每个插座的核心数:2

     

NUMA节点:1

     

每个节点的CPU:4

     

总CPU数:4

     

在VM中运行:否

     

数字硬件计数器:11

     

Max Multiplex Counters:64

相关问题