2014-01-17 27 views
5

在運行Linux的Intel或AMD x86-64系統上,我可以在哪裏/如何找出CPU具有的硬件性能計數器的數量?瞭解CPU有多少硬件性能計數器

我想使用Linux perf工具在執行某些應用程序時收集硬件性能計數器數據。 perf維基的tutorial表示,如果我指定(使用-e標誌到perf statperf record)更多的硬件事件,而不是我CPU中的性能計數器,那麼這些事件將在執行過程中在計數器上被複用,從而允許它們全部被跟蹤在單個perf命令期間,但可能會降低準確性,因爲並非所有計數器始終處於活動狀態。 (請注意,我關心的是硬件事件,例如緩存和TLB行爲 - 我知道可以無誤地跟蹤大量/無限數量的內核軟件跟蹤點。

如果我找到我的處理器型號,是否有英特爾/ AMD網站,我可以找到這些信息?有一個簡單的命令,我可以在系統上運行以檢查硬件計數器的數量嗎?我已檢查了cat /proc/cpuinfox86info -a的輸出,但未找到此信息。

回答

9

關於英特爾處理器,您可以:

PAPI版本:5.1.1.0

賣方串和代碼:GenuineIntel(1)

模型串和代碼:英特爾(R)核心( TM)i5-2520M CPU @ 2.50GHz(42)

CPU版本:7。000000

CPUID信息:家族:6型號:42步進:7

CPU最大兆赫:2494

CPU閔兆赫:2494

HDW線程每個核心:2

芯每個插座:2

NUMA節點:1

每節點0

的CPU:4級

總的CPU:4

運行在VM:沒有

數目的硬件計數器:11個

最大複用計數器:64

相關問題