Bagaimana cara menginstal alat pemantauan "perf"?

75

Bagaimana cara saya menginstal perfalat pemantauan?

samarasa
sumber
2
Apa sebenarnya yang ingin Anda pantau?
ddeimeke
6
@deimeke sepertinya itu pertanyaan yang tidak relevan.
dbliss
@ddeimeke tidak masalah
SmallChess

Jawaban:

66

The perfutilitas dapat ditemukan di linux-alat paket.

James Henstridge
sumber
8
Anda juga mungkin ingin menginstal linux-tools-generic karena ia menyertakan modul kernel yang berinteraksi dengannya.
Allen
Yap @ Allen linux-tools-generic adalah yang saya butuhkan!
jerome
59

Di Ubuntu 14.04 saya harus menginstal tiga paket:

apt-get install linux-tools-common linux-tools-generic linux-tools-`uname -r`
notpeter
sumber
5
Ketika saya mencobanya, cukup menggunakan sudo apt-get install linux-tools-common linux-tools-generic(melewatkan bagian, yang tergantung pada versi kernel) sudah cukup.
Martin R.
4
@ Martin-R linux-tools-generic selalu menunjuk pada tools untuk versi kernel terbaru. Saat menjalankan kernel yang lebih lama (mis. Server dengan uptime beberapa bulan) jika Anda ingin perf tanpa me-reboot ke kernel yang lebih baru, Anda harus menginstal secara eksplisit alat-alat yang dipasangkan dengan kernel tersebut (maka uname -rekspansi shell).
notpeter
sudo apt-get update sudo apt-get -y install linux-tools-common-linux-tools-generic linux- uname -r
tools-
25

Pastikan Anda menginstal alat ini untuk rilis Kernel yang tepat. Jika Anda cukup mengetik:

sudo apt-get install linux-tools

Ini akan menginstalnya untuk rilis Linux terbaru di mesin Anda dan jika Anda mem-boot versi sebelumnya (katakan untuk alasan stabilitas), itu akan salah. Dalam kasus saya diinstal untuk .45 bukan .43 dan saya harus menggunakan perintah berikut untuk menginstalnya:

sudo apt-get install linux-tools-3.2.0.43

Anda dapat menemukan rilis Kernel Anda dengan mengetik: uname -r

Untuk memastikan itu berfungsi dengan benar, Anda dapat mencoba ini: perf record /bin/ls

Kalau-kalau Anda akan menginstal alat Zoom , Anda harus memiliki Perf diinstal untuk dapat menggunakan semua utilitasnya.

Mona Jalal
sumber
18

Untuk mendapatkan versi terbaru dari perf terlepas dari versi kernel (versi perf tidak tergantung pada versi kernel):

git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux/tools/perf
make
cp perf /usr/bin

perf --version untuk memeriksa versi saat ini

bodha
sumber
6

Dalam 14,04, linux-toolspaket tidak ada yang tidak memenuhi syarat:

$ sudo apt-get install linux-tools
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package linux-tools is a virtual package provided by:
  linux-tools-virtual 3.13.0.36.43
  linux-tools-lowlatency 3.13.0.36.43
  linux-tools-generic-lts-trusty 3.13.0.36.43
  linux-tools-generic-lts-saucy 3.13.0.36.43
  linux-tools-generic 3.13.0.36.43
You should explicitly select one to install.

E: Package 'linux-tools' has no installation candidate

Sebagai gantinya, Anda dapat menginstal salah satu paket yang terdaftar, tergantung pada kernel yang Anda instal. Sebagian besar pengguna akan menginginkannya linux-tools-generic.

Drew Noakes
sumber
4

Saya menginstal Linux 3.17.2 di mesin saya dan mencoba

sudo apt-get install linux-tools-3.17.2

itu menunjukkan bahwa linux-tools tidak ada. Dalam hal ini, unduh versi kernel linux yang diperlukan, buka linux-> tools-> perf:

cd linux/tools/perf

dan kemudian jalankan perintah make:

make

dan kemudian jalankan perintah make install:

make install

dan kemudian reboot. Anda baru saja menginstal perf secara manual.

Abhishek Abhyankar
sumber
Reboot tidak perlu. Juga, jika Anda ingin mengkompilasi dari kode sumber; linux-tools-3.17.2 seharusnya tidak perlu
Heartinpiece
1

Menjalankan dua perintah berikut akan melakukannya!

sudo apt-get install linux-tools-common 
sudo apt-get install linux-tools
phoenix bai
sumber
Tidak bekerja Saya menggunakan 12,04. Saya mendapatkan kesalahan perf tidak ditemukan untuk kernel 3.2.0-60. Anda mungkin perlu menginstal linux-tools-3.2.0-60-generic
Rishi Dua
Ini tidak terlihat berfungsi.
SmallChess
1

Inilah cara kerjanya untuk saya Di Ubuntu 18.04:

Setelah Command 'perf' not founditu, disarankan untuk menginstal dengan sudo apt install linux-tools-common. Melakukannya dan mencoba untuk menjalankan perfsetelahnya masih menghasilkan:

WARNING: perf not found for kernel 4.15.0-39

  You may need to install the following packages for this specific kernel:
    linux-tools-4.15.0-39-generic
    linux-cloud-tools-4.15.0-39-generic

  You may also want to install one of the following packages to keep up to date:
    linux-tools-generic
    linux-cloud-tools-generic

Saya memutuskan untuk sudo apt-get install linux-tools-genericdan ini sudah cukup.

Jika Anda mengalami kesalahan izin saat mencoba menggunakan perfsebagai non-root, lihat di sini:

Jalankan perf tanpa hak root

Darkonaut
sumber
Saya mendapat peringatan yang sama. Tapi kemudian saya menjalankan perintah yang Anda sarankan dan saya masih mendapatkan peringatan yang sama.
6005
linux-tools-oem tampaknya sudah cukup.
6005
1
@ 6005 Terima kasih untuk tanggapan, saya tidak tahu mengapa Anda mengalami perilaku yang berbeda.
Darkonaut
0

Di ubuntu "perf" adalah skrip shell yang memanggil binary perf khusus kernel.

Tapi itu sebenarnya tidak diperlukan, perf itu kompatibel. Hapus saja wrapper dari / usr / bin dan salin salah satu binari perf dari ./lib/linux-tools* ke sana.

prabha101
sumber
-1
sudo apt-get install linux-tools-virtual
Tomer Ben David
sumber
jawaban ini tidak berguna tanpa petunjuk tentang pendekatan yang ditargetkan
cmks