Come installare lo strumento di monitoraggio "perf"?


Risposte:



59

Su Ubuntu 14.04 ho dovuto installare tre pacchetti:

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

5
Quando l'ho provato, bastava usare sudo apt-get install linux-tools-common linux-tools-generic(saltare la parte, che dipende dalla versione del kernel).
Martin R.,

4
@ Martin-R linux-tools-generic punta sempre agli strumenti per la versione del kernel più aggiornata. Quando si esegue un kernel più vecchio (ad esempio un server con un paio di mesi di attività) se si desidera perf senza riavviare il kernel più recente, è necessario installare esplicitamente gli strumenti associati a quel kernel (quindi l' uname -respansione della shell).
not

sudo apt-get update sudo apt-get -y installa linux-tools-common linux-tools- uname -r
general

25

Assicurati di installare questo strumento per la corretta versione del kernel. Se digiti semplicemente:

sudo apt-get install linux-tools

Lo installerà per l'ultima versione di Linux nella tua macchina e nel caso in cui avvii una versione precedente (diciamo per motivi di stabilità), sbaglierà. Nel mio caso è stato installato per .45 anziché .43 e ho dovuto utilizzare il seguente comando per installarlo:

sudo apt-get install linux-tools-3.2.0.43

Puoi trovare la tua versione del kernel digitando: uname -r

Per assicurarti che funzioni correttamente puoi provare questo: perf record /bin/ls

Nel caso in cui si desideri installare lo strumento Zoom , è necessario che Perf sia installato per poter utilizzare tutte le sue utilità.


18

Per ottenere l'ultima versione di perf indipendentemente dalla versione del kernel (la versione perf è indipendente dalla versione del 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 per verificare la versione corrente


6

In 14.04, il linux-toolspacchetto non esiste non qualificato:

$ 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

Invece, puoi installare uno dei pacchetti elencati, a seconda del kernel che hai installato. La maggior parte degli utenti vorrà linux-tools-generic.


4

Ho installato Linux 3.17.2 sul mio computer e ho provato

sudo apt-get install linux-tools-3.17.2

ha mostrato che linux-tools non è presente. In questo caso, scarica la versione del kernel linux richiesta, vai su linux-> tools-> perf:

cd linux/tools/perf

e quindi esegui il comando make:

make

e quindi esegui il comando make install:

make install

e quindi riavviare. Hai appena installato perf manualmente.


Il riavvio non è necessario. Inoltre, se devi compilare dal codice sorgente; linux-tools-3.17.2 non dovrebbe essere necessario
Heartinpiece

1

L'esecuzione dei seguenti due comandi lo farà!

sudo apt-get install linux-tools-common 
sudo apt-get install linux-tools

Non funziona Sto usando 12.04. Ottengo l'errore perf non trovato per il kernel 3.2.0-60. Potrebbe essere necessario installare linux-tools-3.2.0-60-generic
Rishi Dua

Questo non sembra funzionare.
SmallChess,

1

Ecco come ha funzionato per me su Ubuntu 18.04:

Dopo Command 'perf' not found, ha suggerito di installare con sudo apt install linux-tools-common. In questo modo e tentando di eseguire in perfseguito risultava ancora:

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

Ho deciso per sudo apt-get install linux-tools-generice questo era abbastanza.

Nel caso in cui si verifichi un errore di autorizzazione quando si tenta di utilizzare perfcome non root, consultare qui:

Esegui perf senza i privilegi di root


Ho ricevuto lo stesso avvertimento. Ma poi ho eseguito il comando che mi hai suggerito e ricevo ancora lo stesso avvertimento.
6005

linux-tools-oem sembra essere stato abbastanza.
6005

1
@ 6005 Grazie per il feedback, non ho idea del perché tu abbia avuto un comportamento diverso.
Darkonaut il

0

Su ubuntu "perf" è uno script di shell che chiama un binario perf specifico del kernel.

Ma questo non è effettivamente necessario, perf è compatibile. Basta rimuovere il wrapper da / usr / bin e copiare qualsiasi binario perf da ./lib/linux-tools* su di esso.


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

questa risposta è inutile senza alcun accenno all'approccio mirato
cmks
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.