Bagaimana cara menginstal alat pemantauan "perf"?


Jawaban:



59

Di Ubuntu 14.04 saya harus menginstal tiga paket:

apt-get install linux-tools-common linux-tools-generic linux-tools-`uname -r`

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.


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


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.


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.


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

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


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.


-1
sudo apt-get install linux-tools-virtual

jawaban ini tidak berguna tanpa petunjuk tentang pendekatan yang ditargetkan
cmks
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.