PMU
Performance Monitoring Unit — аппаратный блок процессора, считающий микрособытия: завершённые инструкции, промахи кэша, неверные предсказания переходов, промахи TLB. На нём работают Linux perf, Intel VTune, AMD uProf и Apple Instruments.
Несколько фиксированных счётчиков (инструкции, такты) плюс 4–8 универсальных, программируемых на конкретные события. Intel PEBS (Precise Event-Based Sampling) фиксирует точный PC в момент события — необходимо для профилирования на уровне инструкций; у AMD есть аналог IBS. Применение: искать функции с множеством промахов кэша, горячие точки неверных предсказаний, false sharing. Списки событий у каждого вендора свои (Intel SDM, том 3) и читаются тяжело. В облачных ВМ гипервизор часто открывает PMU лишь частично, так что часть событий в госте не работает.