Ini adalah perintah perf-trace yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
perf-trace - alat yang terinspirasi strace
RINGKASAN
Perf jejak
Perf jejak catatan
DESKRIPSI
Perintah ini akan menampilkan acara yang terkait dengan target, awalnya syscalls, tapi
peristiwa sistem lain seperti kesalahan halaman, peristiwa seumur hidup tugas, peristiwa penjadwalan, dll.
Ini adalah alat mode langsung selain bekerja dengan file perf.data seperti perf lainnya
peralatan. File dapat dibuat menggunakan Perf catatan perintah tetapi sesi perlu
sertakan acara raw_syscalls (-e panggilan_sistem mentah:*). Kalau tidak, Perf jejak catatan bisa
digunakan sebagai jalan pintas untuk secara otomatis memasukkan acara raw_syscalls saat menulis acara
ke sebuah file.
Opsi berikut berlaku untuk perf trace; opsi untuk melakukan rekaman jejak ditemukan di
halaman manual catatan perf.
PILIHAN
-a, --semua-cpus
Koleksi seluruh sistem dari semua CPU.
-e, --ekspr
Daftar syscalls untuk ditampilkan, saat ini hanya nama syscall. Awalan dengan ! menunjukkan semua
syscalls tetapi yang ditentukan. Anda mungkin perlu menghindarinya.
-o, --keluaran=
Nama file keluaran.
-p, --pid=
Rekam peristiwa pada ID proses yang ada (daftar yang dipisahkan koma).
-t, --tid=
Rekam peristiwa pada ID utas yang ada (daftar yang dipisahkan koma).
-kamu, --uid=
Rekam acara di utas yang dimiliki oleh uid. Nama atau nomor.
--filter-pids=
Saring acara untuk pids ini dan untuk jejak sendiri (daftar yang dipisahkan koma).
-v, --verbose=
Tingkat verbositas.
--tidak mewarisi
Tugas anak tidak mewarisi penghitung.
-m, --mmap-halaman=
Jumlah halaman data mmap (harus pangkat dua) atau spesifikasi ukuran dengan terlampir
karakter satuan - B/K/M/G. Ukuran dibulatkan ke atas untuk memiliki kekuatan halaman terdekat dua
nilai.
-C, --cpu
Kumpulkan sampel hanya pada daftar CPU yang disediakan. Beberapa CPU dapat disediakan sebagai
daftar yang dipisahkan koma tanpa spasi: 0,1. Rentang CPU ditentukan dengan -: 0-2. Di dalam
mode per-utas dengan mode pewarisan aktif (default), Peristiwa ditangkap hanya ketika
thread dieksekusi pada CPU yang ditunjuk. Default adalah untuk memantau semua CPU.
--duration: Hanya tampilkan acara yang memiliki durasi lebih besar dari NM md.
--sched: Dapatkan runtime thread dan berikan ringkasan di akhir sesi.
-i --input Proses peristiwa dari file data kinerja tertentu.
-T --time Cetak stempel waktu penuh daripada waktu relatif terhadap sampel pertama.
--kom
Tampilkan proses COMM tepat di samping ID-nya, aktif secara default, nonaktifkan dengan --no-comm.
-s, --ringkasan
Hanya tampilkan ringkasan panggilan sys menurut utas dengan waktu min, maks, dan rata-rata (dalam mdtk)
dan stddev relatif.
-S, --dengan-ringkasan
Tampilkan semua syscalls diikuti dengan ringkasan oleh utas dengan waktu min, maks, dan rata-rata (dalam
msec) dan stddev relatif.
--alat_statistik
Tampilkan statistik alat seperti berapa kali fd→pathname ditemukan melalui hooking
buka syscall return + vfs_getname atau melalui membaca /proc/pid/fd, dll.
-F=[semua|min|maj], --pf=[semua|min|maj]
Lacak kesalahan halaman. Secara opsional, Anda dapat menentukan apakah Anda ingin minor, mayor atau semua
kesalahan halaman. Nilai default adalah maj.
--syscall
Melacak panggilan sistem. Opsi ini diaktifkan secara default.
--peristiwa
Telusuri acara lainnya, lihat Perf daftar untuk daftar lengkap.
--proc-peta-batas waktu
Saat memproses utas yang sudah ada /proc/XXX/mmap, mungkin perlu waktu lama, karena
filenya mungkin besar. Waktu istirahat diperlukan dalam kasus seperti itu. Opsi ini mengatur waktu
batas. Nilai default adalah 500 ms.
PAGEFAULT
Saat menelusuri kesalahan halaman, format jejaknya adalah sebagai berikut:
kesalahan [ + ][email dilindungi][1]> (
tingkat>).
· min/maj menunjukkan apakah kesalahan kecil atau besar;
· ip.symbol menunjukkan simbol untuk penunjuk instruksi (kode yang menghasilkan kesalahan); jika
tidak ada simbol debug yang tersedia, jejak perf akan mencetak IP mentah;
· addr.dso menunjukkan DSO untuk alamat yang salah;
· jenis peta adalah baik d untuk peta yang tidak dapat dieksekusi atau x untuk peta yang dapat dieksekusi;
· tingkat addr adalah baik k untuk kernel dso atau . untuk pengguna dso.
Untuk resolusi simbol, Anda mungkin perlu menginstal simbol debugging.
Perlu diketahui bahwa durasi saat ini selalu 0 dan tidak mencerminkan waktu sebenarnya
mengambil kesalahan untuk ditangani!
Ketika --verbose ditentukan, perf trace mencoba mencetak semua informasi yang tersedia untuk kedua IP
dan alamat kesalahan berupa dso@simbol[2]+penggantian.
CONTOH
Lacak hanya kesalahan halaman utama:
$ perf jejak --no-syscalls -F
Lacak syscalls, kesalahan halaman besar dan kecil:
$ perf jejak -F semua
1416.547 ( 0.000 ms): python/20235 majfault [CRYPTO_push_info_+0x0] => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0@0x61be0 (x.)
Seperti yang Anda lihat, ada kesalahan halaman utama dalam proses python, dari
CRYPTO_Push_info_ rutin yang salah di suatu tempat di libcrypto.so.
Gunakan perf-trace online menggunakan layanan onworks.net