GNU/Linux >> Belajar Linux >  >> Linux

Menggunakan perf untuk memantau penghitung peristiwa mentah

Oke, jadi saya kira saya sudah menemukan jawabannya.

Untuk mesin Intel yang saya gunakan, formatnya adalah sebagai berikut:<umask><eventselector> di mana keduanya adalah nilai heksadesimal. Angka nol di depan umask dapat dihilangkan, tetapi tidak untuk pemilih peristiwa.

Jadi untuk event 0xB0 dengan topeng 0x01 Saya dapat menelepon:

perf record -e r1B0 ./mytestapp someargs

Saya tidak dapat menemukan penguraian yang tepat dalam kode kernel perf (adakah peretas kernel di sini?), tetapi saya menemukan sumber-sumber ini:

  • Deskripsi penggunaan perf dengan kejadian mentah di majalah c't 13/03 (perlu berlangganan), yang menjelaskan beberapa kejadian mentah dengan deskripsinya dari Intel Architecture Software Developers Manuel (Vol 3b)
  • Sebuah tambalan di milis kernel, membahas cara yang tepat untuk mendokumentasikannya. Ini menetapkan bahwa pola di atas adalah "... spesifik x86 dan tidak lengkap pada saat itu"
  • (Diperbarui) Halaman manual versi yang lebih baru menampilkan contoh pada mesin Intel:man perf-list

Perbarui :Seperti yang ditunjukkan di komentar (terima kasih!), Penerjemah libpfm dapat digunakan untuk mendapatkan deskriptor peristiwa yang tepat. Situs web yang ditautkan dalam komentar (Bojan Nikolic:Cara memantau rangkaian lengkap peristiwa kinerja CPU), ditemukan oleh pengguna 'osgx' menjelaskannya lebih detail.


Sepertinya Anda juga dapat menggunakan:

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

Saya tidak tahu di mana sintaks ini didokumentasikan.

Anda mungkin juga dapat menggunakan argumen lain (Edge, inv, cmask).


Linux
  1. Cara Memantau Aktivitas Ethernet Di Linux Menggunakan Arpwatch

  2. Menggunakan iostat untuk memantau kinerja sistem di Linux (Contoh disertakan)

  3. Mensimulasikan acara Key Press menggunakan Python untuk Linux

  1. Pantau server linux menggunakan Prometheus dan Grafana

  2. Menggunakan Inotify Untuk Memantau Akses Ke File?

  3. Menggunakan Layar Gnu, Saya Mendapatkan Prompt Mentah Dengan Garis Miring Balik?

  1. Cara Memantau Sesi Aktif VPN dan Suhu Menggunakan Nagios

  2. Cara Memantau Switch dan Port Jaringan Menggunakan Nagios

  3. Cara Memantau dan Mencatat Lalu Lintas Jaringan di Linux Menggunakan vnStat