Может ли кто-нибудь привести меня к команде для измерения пропусков TLB на LINUX, пожалуйста? Можно ли считать незначительные ошибки страницы, поскольку пропуски TLB?Команда для измерения пропусков TLB на LINUX
ответ
Вы можете использовать perf
для этого. Если ваш процессор поддерживает его.
Используйте perf list
, чтобы получить представление о доступных счетчиках. Когда я взял этот список и grepped для TLB (на моей машине Sandy Bridge) я получил:
[email protected]:~$ perf list | grep -i tlb
dTLB-loads [Hardware cache event]
dTLB-load-misses [Hardware cache event]
dTLB-stores [Hardware cache event]
dTLB-store-misses [Hardware cache event]
dTLB-prefetches [Hardware cache event]
dTLB-prefetch-misses [Hardware cache event]
iTLB-loads [Hardware cache event]
iTLB-load-misses [Hardware cache event]
Вы можете использовать данный счетчик с: perf record -e <event0>,<event1>,..
, а затем просто использовать perf report
, чтобы посмотреть на результаты ,
'oprofile' также может иметь доступ к счетчикам пропусков TLB для более старых ядер. – ninjalj
Я использовал 'oprofile' в прошлом тоже - к сожалению, версия, поставляемая в Fedora 16, является одной версией за той, которая включает поддержку Sandy Bridge. Я не хотел рекомендовать то, что я не мог проверить. –
Чтобы посмотреть эту информацию для всей системы, вы можете воспользоваться следующей строкой. Это будет записывать счетчики в течение 1 минуты (60 секунд).
perf stat -e dTLB-loads,dTLB-load-misses,iTLB-loads,iTLB-load-misses sleep 60
Я понятия не имею, Пропуски TLB находятся внутри процессора. страницы fauts не пропускают TLB. –
Незначительные ошибки страницы, а не ошибки главной страницы? – samarasa
Какая семейство процессоров? Я предполагаю, что x86-64, но вам нужно указать процессор для этого, поскольку любое решение может включать доступ к реестрам производительности ЦП? –