2014-01-17 6 views
5

В системе Intel или AMD x86-64 под управлением Linux, где/как я могу узнать количество аппаратных счетчиков производительности, которые имеет мой процессор?Узнайте, сколько аппаратных счетчиков производительности имеет процессор

Я хотел бы использовать инструмент Linux perf для сбора данных счетчика производительности оборудования при выполнении некоторых приложений. Первичная wiki's tutorial говорит, что если я укажу (используя флаг -e для perf stat или perf record) больше событий оборудования, чем в моем процессоре есть счетчики производительности, тогда эти события будут мультиплексированы по счетчикам во время выполнения, что позволяет им отслеживать все во время одной команды perf, но, возможно, снижая точность, потому что не все счетчики активны все время. (Обратите внимание, что меня беспокоят аппаратные события здесь, например, для кеша и поведения TLB - я знаю, что большое или неограниченное количество контрольных точек программного обеспечения ядра можно отслеживать без неточностей).

Если я узнаю свою модель процессора, есть ли сайт Intel/AMD, где я могу найти эту информацию? Есть ли простая команда, которую я могу запустить в системе, чтобы проверить количество аппаратных счетчиков? Я изучил вывод cat /proc/cpuinfo и x86info -a, но не смог найти эту информацию.

ответ

9

Что касается процессоров Intel, вы можете:

  • взгляд в этом разведданных documentation manual chapter 18, но это не так легко читать.

  • использовать cpuid instruction - для этого потребуется написать код сборки, чтобы правильно установить параметры и получить результаты.

  • загрузить и скомпилировать/установить papi library и запустить papi_avail | more. В результате на моем ноутбуке:

PAPI Версия: 5.1.1.0

Vendor строка и код: GenuineIntel (1)

Модель строка и код: Intel (R) ядро ​​(TM) i5-2520M CPU @ 2.50GHz (42)

CPU Редакция: 7.000000

CPUID Информация: Семья: 6 Модель: 42 шаговые: 7

CPU Max мегагерц: 2494

CPU Min мегагерц: 2494

HDW Нити на ядро: 2

Сердечники на гнездо: 2

NUMA Узлы: 1

процессоров в узле: 4

Всего ЦП: 4

Запуск в виртуальной машине: нет

Количество Аппаратные средства Счетчики: 11

Макс Multiplex Счетчики: 64