Kinerja adalah salah satu bagian paling rumit dari administrasi sistem. Kapan pun Anda mencoba menyelidiki sumber kinerja buruk atau alasan beban kerja yang tinggi, Anda memerlukan alat yang tepat untuk melakukannya.
Perf adalah salah satu alat itu. Ini adalah penghitung kinerja untuk Linux yang dapat Anda gunakan untuk mengumpulkan data tentang kinerja sistem Anda.
Kita akan melihat cara menginstalnya di Ubuntu dan Centos dan akan melakukan penelusuran kecil tentang penggunaan perintah dasar.
Menginstal Perf di Ubuntu
Perf adalah bagian dari paket 'linux-tools' di Ubuntu dan diinstal seperti paket lain menggunakan apt. Pastikan Anda memiliki sumber yang diperbarui.
sudo apt update
Pertama, instal paket linux-tools-common:
sudo apt install linux-tools-common
Selanjutnya, Anda perlu paket khusus untuk kernel Anda yang sedang berjalan. Untuk mendapatkan versi kernel yang tepat, gunakan perintah berikut:
uname -r
Anda akan mendapatkan versi kernel yang tepat.
Anda dapat menginstal paket linux-tools tertentu atau jika tidak ada versi paket tertentu untuk kernel Anda, Anda dapat menggunakan paket linux-tools-generic. Tapi ini mungkin tidak bekerja seperti yang diharapkan. Sebagai aturan praktis, perf tidak akan berfungsi atau tidak akan berfungsi sebagaimana mestinya, jika paket linux-tools tidak cocok dengan yang sedang berjalan (sangat penting! yang sedang berjalan, tidak yang diinstal) versi kernel Linux.
Menginstal Perf di CentOS
Seperti biasa, nama paket bervariasi dari CentOS ke Ubuntu tetapi prosedurnya pada dasarnya sama, perbarui informasi paket terlebih dahulu:
yum update
Ada paket langsung yang akan memicu semua dependensi di CentOS.
yum install perf
Penggunaan Dasar Perf Command
Mari kita lihat beberapa perintah dasar tentang cara menggunakan perf. Penggunaan perf yang paling dasar tentu saja adalah halaman bantuan, dengan tanda “–help” untuk melihat ringkasan perintah
Tergantung pada konfigurasi sistem Anda, beberapa perintah perf mungkin dibatasi oleh kebijakan keamanan. Untuk menonaktifkan kebijakan tersebut cukup gunakan:
echo 0 > /proc/sys/kernel/perf_event_paranoid
Ada dua kelompok besar perintah:perintah yang dijalankan melalui sistem langsung dan perintah yang dijalankan melalui catatan kinerja.
Perintah melalui sistem langsung
perf list [category]
Perintah di atas mencantumkan semua jenis acara yang tersedia di sistem. Ini adalah daftar panjang dan tergantung pada konfigurasi sistem, itu akan dibungkus dengan lebih sedikit/lebih. Jika Anda memberikan nilai kategori, hanya acara pada kategori ini yang akan ditampilkan.
Kategori yang tersedia adalah:hw|sw|cache|tracepoint|pmu|event_glob
perf bench <category> <benchmark>
Perintah di atas membuat beberapa benchmark pada sistem. Mereka dibagi di antara kategori yang berbeda (sched, mem, numa, futex, semua) dan setiap kategori memiliki daftar tolok ukur yang berbeda.
Jika Anda ingin memeriksa semua tes kecepatan memori, gunakan perintah di bawah ini:
perf bench mem all
perf stat <command>
Perintah di atas akan mengembalikan statistik kinerja. Ini akan menampilkan sesuatu seperti ini
perf top
Ini akan menampilkan analisis langsung dari profil sistem, seperti teratas, tetapi lebih disempurnakan.
Di sini mulai kelompok perintah kedua.
Perintah atas catatan Performa
Anda dapat merekam profil kinerja dari setiap perintah yang Anda jalankan menggunakan baris perintah berikut:
perf record [options]
Ini akan menghasilkan catatan register kinerja mentah. Seberapa dalam catatan ini, akan tergantung pada instalasi sistem Anda. Anda mungkin memerlukan paket debug atau dev untuk mendapatkan semua data pembuatan profil yang mungkin Anda dapatkan. Ada juga banyak tanda yang memungkinkan kita untuk mengontrol apa yang akan diprofilkan, bagaimana akan disimpan, dan seberapa sering akan diprofilkan.
Setelah kami memiliki catatan kinerja, ada beberapa perintah untuk bertindak dengan data ini, yang paling mudah adalah sebagai berikut:
perf report -i <perf file> [options]
Ini akan menghasilkan laporan file kinerja. Kita dapat memilih cara memisahkan atau mengurutkan data atau data mana yang kita inginkan dalam laporan.
perf diff <datafile 1> <datafile 2> …
Ini akan memungkinkan kita untuk membandingkan dua eksekusi, misalnya, jika kita ingin mengetahui bagaimana program berjalan setelah mengubah parameter dibandingkan dengan eksekusi dasar.
perf lock -I <perf file>
Ini akan menganalisis semua peristiwa penguncian dalam file kinerja yang direkam sebelumnya.
perf mem -t <Type> [ record <command> | report ]
Ini akan merekam atau melaporkan dari catatan, membuat profil pada akses memori dari jenis yang dipilih.
perf timechart
Ini akan membuat bagan waktu pelaksanaan pembuatan profil yang direkam sebelumnya.
Dengan semua alat ini di tangan kami, Anda dapat mulai memeriksa apa yang terjadi di server Anda, Anda dapat mulai melakukan profil eksekusi untuk menguji konfigurasi yang berbeda dan Anda akan dipersenjatai dengan seperangkat alat yang luas untuk mengontrol kinerja pada sistem Anda .