GNU/Linux >> Znalost Linux >  >> Linux

Použití perf ke sledování nezpracovaných čítačů událostí

Dobře, takže myslím, že jsem na to přišel.

Pro počítač Intel, který používám, je formát následující:<umask><eventselector> kde obě jsou hexadecimální hodnoty. Úvodní nuly umask lze vypustit, ale ne pro selektor události.

Tedy pro událost 0xB0 s maskou 0x01 Mohu zavolat:

perf record -e r1B0 ./mytestapp someargs

Nepodařilo se mi najít jeho přesnou analýzu v kódu jádra perf (je tu nějaký hacker jádra?), ale našel jsem tyto zdroje:

  • Popis použití výkonu s nezpracovanými událostmi v časopise c't 13/03 (vyžadováno předplatné), který popisuje některé nezpracované události s jejich popisem z Intel Architecture Software Developers Manuel (Vol 3b)
  • Oprava v mailing listu jádra, pojednávající o správném způsobu dokumentování. Specifikovalo, že výše uvedený vzor byl „... byl specifický pro x86 a v tom neúplný“
  • (Aktualizováno) Manuálová stránka novějších verzí ukazuje příklad na počítačích Intel:man perf-list

Aktualizovat :Jak bylo uvedeno v komentářích (děkujeme!), překladač libpfm lze použít k získání správného deskriptoru události. Webová stránka odkazovaná v komentářích (Bojan Nikolic:Jak monitorovat celou řadu událostí výkonu CPU), objevená uživatelem 'osgx', to vysvětluje podrobněji.


Zdá se, že můžete použít také:

perf record -e cpu/event=0xB1,umask=0x1/u ./mytestapp someargs

Nevím, kde je tato syntaxe zdokumentována.

Pravděpodobně můžete použít i ostatní argumenty (edge, inv, cmask).


Linux
  1. Monitorujte linuxový server pomocí Prometheus a Grafana

  2. Jak monitorovat síťový přepínač a porty pomocí Nagios

  3. Jak monitorovat a protokolovat síťový provoz v systému Linux pomocí vnStat

  1. Jak monitorovat ethernetovou aktivitu v Linuxu pomocí Arpwatch

  2. Používáte Inotify ke sledování přístupu k souboru?

  3. Pomocí obrazovky Gnu dostanu nezpracovanou výzvu se zpětnými lomítky?

  1. Jak monitorovat aktivní relace a teplotu VPN pomocí Nagios

  2. Použití iostatu k monitorování výkonu systému v Linuxu (včetně příkladů)

  3. Simulace události Key Press pomocí Pythonu pro Linux