Comment installer l'outil de surveillance «perf»?

75

Comment installer l' perfoutil de surveillance?

samarasa
la source
2
Que voulez-vous surveiller exactement?
ddeimeke
6
@ddeimeke cela semble être une question hors de propos.
dbliss
@ddeimeke ça ne fait rien
SmallChess

Réponses:

66

Cet perfutilitaire se trouve dans le paquet linux-tools .

James Henstridge
la source
8
Vous voudrez probablement aussi installer linux-tools-generic car il inclut des modules de noyau avec lesquels perf interagit.
Allen le
Yep @Allen linux-tools-generic était ce dont j'avais besoin!
Jérôme
59

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

apt-get install linux-tools-common linux-tools-generic linux-tools-`uname -r`
notpeter
la source
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.

Mona Jalal
la source
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

Bodha
la source
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.

Drew Noakes
la source
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.

Abhishek Abhyankar
la source
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
Phoenix Bai
la source
Ç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

Darkonaut
la source
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*.

prabha101
la source
-1
sudo apt-get install linux-tools-virtual
Tomer Ben David
la source
cette réponse est inutile sans la moindre idée de l'approche ciblée
cmks