Rumah >Operasi dan penyelenggaraan >operasi dan penyelenggaraan linux >Bagaimana saya menggunakan alat pengesanan sistem seperti perf dan ftrace di linux?
Menggunakan alat pengesanan sistem seperti perf
dan ftrace
di Linux dapat membantu anda mendapatkan pandangan tentang prestasi dan tingkah laku sistem anda. Berikut adalah cara anda boleh menggunakan setiap alat ini:
Menggunakan Perf:
perf
dipasang pada sistem anda. Pada kebanyakan pengagihan Linux, ia boleh dipasang menggunakan pengurus pakej, seperti sudo apt-get install linux-perf
di Ubuntu. Penggunaan Asas : Untuk memulakan acara rakaman, anda boleh menggunakan perintah perf record
. Sebagai contoh, untuk merakam kitaran CPU, anda akan menggunakan:
<code>sudo perf record -e cycles -a sleep 10</code>
Perintah ini merekodkan kitaran CPU untuk semua CPU selama 10 saat.
Analisis : Selepas rakaman, anda boleh menganalisis data dengan perf report
:
<code>sudo perf report</code>
Perintah ini akan membuka antara muka interaktif di mana anda boleh menavigasi data.
Kes Penggunaan Khusus : Perf boleh digunakan untuk profil aplikasi khusus, menganalisis prestasi seluruh sistem, dan banyak lagi. Sebagai contoh, untuk memaparkan aplikasi tertentu:
<code>sudo perf record ./my_application sudo perf report</code>
Menggunakan Ftrace:
Mengaktifkan FTRACE : Ftrace biasanya sebahagian daripada kernel Linux. Untuk membolehkannya, anda perlu memasang sistem fail debug:
<code>sudo mount -t debugfs nodev /sys/kernel/debug</code>
Mengkonfigurasi Ftrace : Anda boleh mengkonfigurasi apa yang harus dikesan dengan menulis ke fail dalam /sys/kernel/debug/tracing
. Sebagai contoh, untuk mengesan fungsi panggilan:
<code>echo function > /sys/kernel/debug/tracing/current_tracer echo 1 > /sys/kernel/debug/tracing/tracing_on</code>
Melihat Output : Output jejak boleh dilihat dalam masa nyata menggunakan:
<code>cat /sys/kernel/debug/tracing/trace</code>
Menghentikan jejak : untuk berhenti mengesan, tulis 0
ke fail tracing_on
:
<code>echo 0 > /sys/kernel/debug/tracing/tracing_on</code>
Perbezaan utama:
Fungsi :
Perf
adalah alat yang lebih serba boleh yang dapat mengesan pelbagai peristiwa, termasuk peristiwa perkakasan (contohnya, kitaran CPU, Cache Misses) dan peristiwa perisian (misalnya, kesalahan halaman, suis konteks).Ftrace
direka khusus untuk mengesan fungsi kernel dan panggilan sistem, menyediakan pengesanan peringkat kernel terperinci.Antara muka pengguna :
Perf
menawarkan antara muka interaktif ( perf report
) untuk menganalisis data yang direkodkan, yang boleh sangat mesra pengguna.Ftrace
menyediakan output mentah yang memerlukan parsing atau skrip manual untuk menganalisis dengan berkesan.Overhead :
Perf
umumnya mempunyai overhead yang lebih tinggi daripada ftrace
kerana keupayaannya yang lebih luas.Ftrace
lebih ringan dan boleh digunakan dengan kesan sistem yang minimum, menjadikannya sesuai untuk senario di mana overhead rendah adalah penting.Bilakah menggunakan setiap alat:
Gunakan Perf :
Gunakan ftrace :
Menganalisis output perf:
perf report
: Seperti yang disebutkan, perf report
menyediakan cara interaktif untuk melihat data yang direkodkan. Anda boleh menavigasi graf panggilan untuk mengenal pasti fungsi yang menggunakan masa atau sumber yang paling banyak.perf
untuk menganalisis peristiwa perkakasan seperti kitaran CPU, Cache Misses, dan Mispredictions Cawangan. Tuduhan tinggi di kawasan ini boleh mencadangkan peluang pengoptimuman.Perf
menggunakan persampelan statistik untuk mengumpulkan data, yang dapat membantu mengenal pasti titik panas dalam kod atau sistem anda.Menganalisis output Ftrace:
trace-cmd
atau menulis skrip untuk menapis dan menghuraikan data.Perangkap biasa:
ftrace
.Amalan Terbaik:
perf
dan ftrace
membolehkan anda menapis acara. Gunakan ciri ini untuk memberi tumpuan kepada bidang minat dan mengurangkan beban data.perf
dan ftrace
untuk mendapatkan pandangan yang lebih komprehensif mengenai tingkah laku sistem.trace-cmd
untuk ftrace
atau skrip tersuai untuk perf
boleh menyelaraskan aliran kerja anda. Dengan mengikuti garis panduan ini, anda boleh menggunakan perf
dan ftrace
dengan berkesan untuk mendiagnosis dan mengoptimumkan prestasi sistem Linux anda.
Atas ialah kandungan terperinci Bagaimana saya menggunakan alat pengesanan sistem seperti perf dan ftrace di linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!