Comment installer l'outil de surveillance «perf»?


Réponses:



59

Sur Ubuntu 14.04, j'ai dû installer trois paquets:

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

5
Lorsque je l'ai essayé, il sudo apt-get install linux-tools-common linux-tools-genericsuffisait d' utiliser (en sautant la partie, qui dépend de la version du noyau).
Martin R.

4
@ Martin-R linux-tools-generic pointe toujours sur les outils pour obtenir la version la plus récente du noyau. Lorsque vous exécutez un noyau plus ancien (par exemple, un serveur avec quelques mois d'activité) si vous voulez une performance sans réinitialiser le noyau le plus récent, vous devez installer explicitement les outils associés à ce noyau (d'où le uname -rdéveloppement du shell).
notpeter

sudo apt-get mise à jour sudo apt-get -y installer linux-tools-common linux-tools-générique linux-tools-uname -r
dylanninin

25

Assurez-vous d’installer cet outil pour la version correcte du noyau. Si vous tapez simplement:

sudo apt-get install linux-tools

Il l'installera pour la dernière version de Linux sur votre ordinateur et si vous démarrez une version précédente (par exemple pour des raisons de stabilité), il se trompera. Dans mon cas, il a été installé pour .45 au lieu de .43 et j'ai dû utiliser la commande suivante pour l'installer:

sudo apt-get install linux-tools-3.2.0.43

Vous pouvez trouver votre version du noyau en tapant: uname -r

Pour vous assurer que tout fonctionne correctement, vous pouvez essayer ceci: perf record /bin/ls

Juste au cas où vous allez installer l’ outil Zoom , vous devez installer Perf pour pouvoir utiliser tous ses utilitaires.


18

Pour obtenir la dernière version de perf indépendamment de la version du noyau (la version de perf est indépendante de la version du noyau):

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 pour vérifier la version actuelle


6

En 14.04, le linux-toolspaquet n'existe pas sans réserve:

$ 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

À la place, vous pouvez installer l’un des packages répertoriés en fonction du noyau que vous avez installé. La plupart des utilisateurs voudront linux-tools-generic.


4

J'ai installé Linux 3.17.2 sur ma machine et essayé

sudo apt-get install linux-tools-3.17.2

cela montrait que linux-tools n'était pas présent. Dans ce cas, téléchargez la version requise du noyau Linux, allez à linux-> outils-> perf:

cd linux/tools/perf

puis lancez la commande make:

make

puis exécutez la commande make install:

make install

puis redémarrez. Vous venez d'installer perf manuellement.


Le redémarrage n'est pas nécessaire. Aussi, si vous devez compiler à partir du code source; linux-tools-3.17.2 ne devrait pas être nécessaire
Heartinpiece

1

Exécuter les deux commandes suivantes le fera!

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

Ça ne marche pas J'utilise 12.04. J'ai l'erreur perf introuvable pour le noyau 3.2.0-60. Vous devrez peut-être installer linux-tools-3.2.0-60-generic
Rishi Dua

Cela ne semble pas fonctionner.
SmallChess

1

Voici comment cela a fonctionné pour moi sur Ubuntu 18.04:

Après Command 'perf' not found, il a suggéré d'installer avec sudo apt install linux-tools-common. Faire ainsi et essayer de courir perfaprès a quand même eu pour résultat:

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

J'ai décidé pour sudo apt-get install linux-tools-genericet cela suffisait.

Au cas où vous rencontriez une erreur de permission lorsque vous essayez d'utiliser une application perfnon-root, regardez ici:

Lancer perf sans droits root


J'ai le même avertissement. Mais ensuite, j'ai exécuté la commande que vous avez suggérée et je reçois toujours le même avertissement.
6005

linux-tools-oem semble avoir suffi.
6005

1
@ 6005 Thx pour les commentaires, je ne sais pas pourquoi vous avez eu un comportement différent.
Darkonaut

0

Sur ubuntu "perf" est un script shell qui appelle un perf binaire spécifique au noyau.

Mais ce n'est pas vraiment nécessaire, perf est compatible. Supprimez simplement le wrapper de / usr / bin et copiez-y l’un des fichiers binaires perf de ./lib/linux-tools*.


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

cette réponse est inutile sans la moindre idée de l'approche ciblée
cmks
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.