Rumah Operasi dan penyelenggaraan operasi dan penyelenggaraan linux Apakah linux perf? Bagaimana cara menggunakannya? (Ringkasan penggunaan)

Apakah linux perf? Bagaimana cara menggunakannya? (Ringkasan penggunaan)

Nov 05, 2021 pm 05:50 PM
linux

Lajur berikut akan memperkenalkan dan meringkaskan penggunaan linux perf dari lajur tutorial sistem linux Saya harap ia dapat membantu rakan-rakan yang memerlukan.

Pengenalan

perf ialah alat analisis prestasi yang disediakan dalam sistem Linux Ia berdasarkan subsistem kernel yang dipanggil "Pembilang prestasi" dan menyokong perkakasan (CPU, Analisis prestasi di peringkat PMU (Unit Pemantauan Prestasi) dan perisian (kaunter perisian, titik jejak).

Acara dalam perf

perf, seperti alat penalaan prestasi yang lain, membuat kesimpulan keseluruhan program dengan mensampel objek pemantauan dan berdasarkan taburan titik pensampelan Gelagat. Melalui perintah senarai perf, kita dapat melihat bahawa perf menyokong banyak peristiwa pensampelan, seperti rampasan cawangan, jam cpu, dsb. Peristiwa yang dipratentukan dalam perf tergolong dalam jenis yang berbeza, seperti peristiwa yang dijana perkakasan (cache hit/branch miss) dan peristiwa yang dijana perisian (context switch/page fault), dsb.

tracepoint

tracepoint ialah beberapa cangkuk yang ditakrifkan dalam kernel Linux Jika didayakan, ia akan dicetuskan apabila logik tertentu dilaksanakan, menjadikannya lebih mudah untuk alat lain diperoleh sistem Untuk status larian dalaman dan maklumat lain, perf menggunakan titik jejak Ia merekod dan mengira pelbagai peristiwa titik jejak dan menjana laporan analisis.

Cara menggunakan

Penggunaan khusus alat perf adalah seperti berikut:

perf [--version] [--help] COMMAND [ARGS]
Salin selepas log masuk

Senarai COMMAND boleh dilihat dengan melaksanakan perf --help, Berikut adalah beberapa arahan yang biasa digunakan.

statistik perf

Fungsi statistik perf adalah untuk melaksanakan perintah dan mengumpul pelbagai data semasa operasinya Ia boleh memberikan gambaran keseluruhan status berjalan a program. Contohnya:

user@localhost:~$ perf stat hostname
localhost
 Performance counter stats for 'hostname':
          0.313464      task-clock (msec)         #    0.481 CPUs utilized          
                 2      context-switches          #    0.006 M/sec                  
                 0      cpu-migrations            #    0.000 K/sec                  
               153      page-faults               #    0.488 M/sec                  
           896,723      cycles                    #    2.861 GHz                    
           620,709      instructions              #    0.69  insn per cycle         
           121,143      branches                  #  386.465 M/sec                  
             6,247      branch-misses             #    5.16% of all branches        
       0.000651441 seconds time elapsed
Salin selepas log masuk

Dalam contoh di atas, arahan nama hos dijalankan melalui statistik perf dan beberapa penunjuk semasa operasinya diringkaskan dan dipaparkan, seperti jam tugas, suis konteks dan menunggu. Secara lalai, statistik perf akan mengeluarkan statistik beberapa peristiwa yang biasa digunakan, seperti:

task-clock-msecs:cpu 使用率
context-switches:进程切换次数
page-faults:发生缺页的次数
cpu-migrations:表示进程运行过程中发生了多少次CPU迁移,即被调度器从一个CPU转移到另外一个CPU上运行
cycles:处理器时钟,一条机器指令可能需要多个cycles
instructions: 机器指令数目
branches:遇到的分支指令数
branch-misses是预测错误的分支指令数
Salin selepas log masuk

Selain itu, kami boleh menggunakan parameter -e untuk menentukan acara yang kami minati, seperti:

user@localhost:~$ perf stat -e cache-misses hostname
localhost
 Performance counter stats for 'hostname':
          682      cache-misses                                                
       0.000646676 seconds time elapsed
Salin selepas log masuk

perf top

Fungsi perf top ialah untuk memaparkan statistik prestasi semasa sistem dalam masa nyata. Statistik perf sebelumnya digunakan untuk menganalisis program tertentu, dan kadangkala kami mungkin tidak tahu program yang mempengaruhi prestasi sistem Pada masa ini, kami boleh menggunakan perf top untuk mencari program yang mencurigakan. Contohnya:

Samples: 775  of event 'cpu-clock', Event count (approx.): 92931021
Overhead  Shared Object       Symbol
   8.93%  [kernel]            [k] vsnprintf
   7.73%  perf                [.] rb_next
   5.92%  [kernel]            [k] kallsyms_expand_symbol.clone.0
   5.07%  [kernel]            [k] format_decode
   4.59%  [kernel]            [k] number
   3.40%  perf                [.] symbols__insert
   3.03%  libslang.so.2.2.1   [.] SLtt_smart_puts
Salin selepas log masuk

Contoh di atas menunjukkan bahawa perf mengira data peristiwa jam cpu dan mengisihnya mengikut perkadaran. Seperti statistik perf, kami boleh menentukan statistik peristiwa lain melalui parameter -e Contohnya, suis konteks -e atas perf boleh melihat proses N teratas dengan suis proses yang paling banyak.

rekod perf & laporan perf

rekod perf adalah serupa dengan statistik perf Ia boleh menjalankan arahan dan menjana maklumat statistik, tetapi rekod perf tidak akan memaparkan hasilnya. keluar, sebaliknya mengeluarkan hasilnya ke fail. Fail yang dijana oleh rekod perf boleh dihuraikan dengan laporan perf.

rekod perf juga boleh menggunakan parameter -g untuk menjana graf panggilan semasa analisis untuk membantu mencari pengedaran logik peringkat lebih tinggi.

Lain-lain

Melalui contoh kita dapati bahawa lajur Simbol dalam hasil analisis perf memaparkan nama-nama fungsi bahasa c. Untuk Java, fungsi yang dihasilkan oleh kompilasi JIT akan dipaparkan secara langsung dalam simbol dan bukannya nama fungsi Java Pada masa ini, tidak begitu mudah untuk mencari masalah. Kita perlu menggunakan cara tambahan untuk menggabungkan simbol dengan simbol jadual program Java Correspondence akan dibincangkan secara terperinci kemudian.

Pembelajaran yang disyorkan: "tutorial video linux"

Atas ialah kandungan terperinci Apakah linux perf? Bagaimana cara menggunakannya? (Ringkasan penggunaan). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Memulakan Apache Cara Memulakan Apache Apr 13, 2025 pm 01:06 PM

Langkah-langkah untuk memulakan Apache adalah seperti berikut: Pasang Apache (perintah: sudo apt-get pemasangan apache2 atau muat turun dari laman web rasmi) Mula Apache (linux: Sudo Systemctl Mula Apache2; Windows: Klik kanan "Apache2.4" Perkhidmatan dan pilih "Mula") Boot secara automatik (Pilihan, Linux: Sudo Systemctl

Apa yang Harus Dilakukan Sekiranya Pelabuhan Apache80 Diduduki Apa yang Harus Dilakukan Sekiranya Pelabuhan Apache80 Diduduki Apr 13, 2025 pm 01:24 PM

Apabila port Apache 80 diduduki, penyelesaiannya adalah seperti berikut: Cari proses yang menduduki pelabuhan dan tutupnya. Semak tetapan firewall untuk memastikan Apache tidak disekat. Jika kaedah di atas tidak berfungsi, sila buat semula Apache untuk menggunakan port yang berbeza. Mulakan semula perkhidmatan Apache.

Cara Mengoptimumkan Prestasi Debian Readdir Cara Mengoptimumkan Prestasi Debian Readdir Apr 13, 2025 am 08:48 AM

Dalam sistem Debian, panggilan sistem Readdir digunakan untuk membaca kandungan direktori. Jika prestasinya tidak baik, cuba strategi pengoptimuman berikut: Memudahkan bilangan fail direktori: Split direktori besar ke dalam pelbagai direktori kecil sebanyak mungkin, mengurangkan bilangan item yang diproses setiap panggilan readdir. Dayakan Caching Kandungan Direktori: Bina mekanisme cache, kemas kini cache secara teratur atau apabila kandungan direktori berubah, dan mengurangkan panggilan kerap ke Readdir. Cafh memori (seperti memcached atau redis) atau cache tempatan (seperti fail atau pangkalan data) boleh dipertimbangkan. Mengamalkan struktur data yang cekap: Sekiranya anda melaksanakan traversal direktori sendiri, pilih struktur data yang lebih cekap (seperti jadual hash dan bukannya carian linear) untuk menyimpan dan mengakses maklumat direktori

Cara memulakan semula pelayan Apache Cara memulakan semula pelayan Apache Apr 13, 2025 pm 01:12 PM

Untuk memulakan semula pelayan Apache, ikuti langkah -langkah ini: Linux/MacOS: Run Sudo SystemCtl Restart Apache2. Windows: Jalankan Net Stop Apache2.4 dan kemudian Net Start Apache2.4. Jalankan Netstat -A | Cari 80 untuk memeriksa status pelayan.

Cara Belajar Debian Syslog Cara Belajar Debian Syslog Apr 13, 2025 am 11:51 AM

Panduan ini akan membimbing anda untuk belajar cara menggunakan syslog dalam sistem Debian. SYSLOG adalah perkhidmatan utama dalam sistem Linux untuk sistem pembalakan dan mesej log aplikasi. Ia membantu pentadbir memantau dan menganalisis aktiviti sistem untuk mengenal pasti dan menyelesaikan masalah dengan cepat. 1. Pengetahuan asas syslog Fungsi teras syslog termasuk: mengumpul dan menguruskan mesej log secara terpusat; menyokong pelbagai format output log dan lokasi sasaran (seperti fail atau rangkaian); Menyediakan fungsi tontonan log dan penapisan masa nyata. 2. Pasang dan konfigurasikan syslog (menggunakan rsyslog) Sistem Debian menggunakan rsyslog secara lalai. Anda boleh memasangnya dengan arahan berikut: sudoaptupdatesud

Cara menyelesaikan masalah yang tidak dapat dimulakan oleh Apache Cara menyelesaikan masalah yang tidak dapat dimulakan oleh Apache Apr 13, 2025 pm 01:21 PM

Apache tidak boleh bermula kerana sebab -sebab berikut mungkin: ralat sintaks fail konfigurasi. Konflik dengan port permohonan lain. Isu kebenaran. Keluar dari ingatan. Proses kebuntuan. Kegagalan daemon. Isu Kebenaran Selinux. Masalah firewall. Konflik perisian.

Adakah Internet berjalan di Linux? Adakah Internet berjalan di Linux? Apr 14, 2025 am 12:03 AM

Internet tidak bergantung pada sistem operasi tunggal, tetapi Linux memainkan peranan penting di dalamnya. Linux digunakan secara meluas dalam pelayan dan peranti rangkaian dan popular untuk kestabilan, keselamatan dan skalabiliti.

Cara memperbaiki kelemahan Apache Cara memperbaiki kelemahan Apache Apr 13, 2025 pm 12:54 PM

Langkah -langkah untuk menetapkan kelemahan Apache termasuk: 1. Tentukan versi yang terjejas; 2. Memohon kemas kini keselamatan; 3. Mulakan semula Apache; 4. Sahkan pembetulan; 5. Membolehkan ciri keselamatan.

See all articles