GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzo di perf per monitorare i contatori di eventi non elaborati

Ok, quindi immagino di averlo capito.

Per la macchina Intel che utilizzo, il formato è il seguente:<umask><eventselector> dove entrambi sono valori esadecimali. Gli zeri iniziali di umask possono essere eliminati, ma non per il selettore di eventi.

Quindi per l'evento 0xB0 con la maschera 0x01 Posso chiamare:

perf record -e r1B0 ./mytestapp someargs

Non sono riuscito a trovarne l'esatta analisi nel codice del kernel perf (c'è qualche hacker del kernel qui?), ma ho trovato queste fonti:

  • Una descrizione dell'uso di perf con eventi grezzi nella rivista c't 13/03 (abbonamento richiesto), che descrive alcuni eventi grezzi con la loro descrizione dall'Intel Architecture Software Developers Manuel (Vol 3b)
  • Una patch sulla mailing list del kernel, che discute il modo corretto di documentarla. Specificava che il modello precedente era "... era specifico per x86 e incompleto"
  • (Aggiornato) La pagina man delle versioni più recenti mostra un esempio su macchine Intel:man perf-list

Aggiorna :Come sottolineato nei commenti (grazie!), il traduttore libpfm può essere utilizzato per ottenere il descrittore di evento appropriato. Il sito Web collegato nei commenti (Bojan Nikolic:How to monitor the full range of CPU performance events), scoperto dall'utente "osgx", lo spiega in modo più dettagliato.


Sembra che tu possa usare anche:

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

Non so dove sia documentata questa sintassi.

Probabilmente puoi usare anche gli altri argomenti (edge, inv, cmask).


Linux
  1. Come monitorare l'attività Ethernet in Linux utilizzando Arpwatch

  2. Monitora il server Linux usando Prometheus e Grafana

  3. Usare Innotify per monitorare l'accesso a un file?

  4. Usando Gnu Screen, ricevo un prompt Raw con backslash?

  5. Come monitorare le sessioni attive VPN e la temperatura utilizzando Nagios

Come monitorare i server Linux utilizzando CloudStats

Come monitorare le modifiche ai file utilizzando fswatch in Linux

Come monitorare l'uptime del sistema Linux utilizzando Uptimed

Mostra la cronologia degli eventi dei dispositivi USB utilizzando Usbrip in Linux

Come monitorare l'avanzamento dei dati attraverso un tubo utilizzando il comando "pv".

Monitorare la connessione alla presa di rete utilizzando il comando 10 'ss'