Wie installiere ich das “perf” Monitoring Tool?

75

Wie installiere ich das perfÜberwachungstool?

Samarasa
quelle
2
Was genau möchten Sie überwachen?
Ddeimeke
6
@ddeimeke das scheint eine irrelevante frage zu sein.
Dbliss
@ Ddeimeke es spielt keine Rolle
SmallChess

Antworten:

66

Das perfDienstprogramm befindet sich im Paket linux-tools .

James Henstridge
quelle
8
Sie möchten wahrscheinlich auch linux-tools-generic installieren, da es Kernelmodule enthält, mit denen perf interagiert.
Allen
Yep @Allen Linux-Tools-Generic war das, was ich brauchte!
Jerome
59

Auf Ubuntu 14.04 musste ich drei Pakete installieren:

apt-get install linux-tools-common linux-tools-generic linux-tools-`uname -r`
notpeter
quelle
5
Als ich es ausprobiert habe, sudo apt-get install linux-tools-common linux-tools-genericwar es ausreichend , nur den Teil zu verwenden (Überspringen, was von der Kernel-Version abhängt).
Martin R.
4
@ Martin-R linux-tools-generic zeigt immer auf die Tools für die aktuellste Kernelversion. Wenn Sie einen älteren Kernel ausführen (z. B. einen Server mit einer Betriebszeit von einigen Monaten), müssen Sie die mit diesem Kernel gepaarten Tools (daher die uname -rShell-Erweiterung) explizit installieren, wenn Sie perf ohne einen Neustart des neueren Kernels ausführen möchten .
notpeter
sudo apt-get update sudo apt-get -y installiert Linux-Tools-common Linux-Tools-generic linux-tools-uname -r
dylanninin
25

Stellen Sie sicher, dass Sie dieses Tool für die richtige Kernel-Version installieren. Wenn Sie nur Folgendes eingeben:

sudo apt-get install linux-tools

Es wird es für die neueste Linux-Version auf Ihrem Computer installieren und falls Sie eine frühere Version booten (etwa aus Stabilitätsgründen), wird es fehlerhaft sein. In meinem Fall wurde es für .45 anstelle von .43 installiert und ich musste den folgenden Befehl verwenden, um es zu installieren:

sudo apt-get install linux-tools-3.2.0.43

Sie finden Ihr Kernel-Release, indem Sie Folgendes eingeben: uname -r

Um sicherzustellen, dass es richtig funktioniert, können Sie Folgendes versuchen: perf record /bin/ls

Nur für den Fall, dass Sie das Zoom-Tool installieren möchten , muss Perf installiert sein, damit Sie alle seine Dienstprogramme verwenden können.

Mona Jalal
quelle
18

So erhalten Sie die neueste Version von perf, unabhängig von der Kernelversion (die perf-Version ist von der Kernelversion unabhängig):

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 um die aktuelle Version zu überprüfen

Bodha
quelle
6

In 14.04 existiert das linux-toolsPaket nicht unqualifiziert:

$ 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

Stattdessen können Sie eines der aufgelisteten Pakete installieren, je nachdem, welchen Kernel Sie installiert haben. Die meisten Benutzer werden es wollen linux-tools-generic.

Drew Noakes
quelle
4

Ich habe Linux 3.17.2 auf meinem Rechner installiert und ausprobiert

sudo apt-get install linux-tools-3.17.2

es zeigte sich, dass linux-tools nicht vorhanden sind. Laden Sie in diesem Fall die erforderliche Linux-Kernel-Version herunter und gehen Sie zu linux-> tools-> perf:

cd linux/tools/perf

und dann den Befehl make ausführen:

make

Führen Sie dann den Befehl make install aus:

make install

und dann neu starten. Sie haben perf gerade manuell installiert.

Abhishek Abhyankar
quelle
Ein Neustart ist nicht erforderlich. Auch, wenn Sie aus dem Quellcode kompilieren möchten; Linux-Tools-3.17.2 sollte nicht erforderlich sein
Heartinpiece
1

Führen Sie die folgenden zwei Befehle aus!

sudo apt-get install linux-tools-common 
sudo apt-get install linux-tools
Phoenix Bai
quelle
Funktioniert nicht Ich benutze 12.04. Ich bekomme den Fehler perf nicht gefunden für Kernel 3.2.0-60. Möglicherweise müssen Sie linux-tools-3.2.0-60-generic
Rishi Dua
Das sieht nicht gut aus.
SmallChess
1

So hat es bei mir unter Ubuntu 18.04 funktioniert:

Danach Command 'perf' not foundschlug es vor, mit zu installieren sudo apt install linux-tools-common. Das zu tun und danach zu versuchen zu rennen, führte perfimmer noch zu:

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

Ich habe mich für entschieden sudo apt-get install linux-tools-genericund das war genug.

Falls Sie bei der Verwendung perfals Nicht-Root auf einen Berechtigungsfehler stoßen, sehen Sie hier nach:

Führen Sie perf ohne root-Rechte aus

Darkonaut
quelle
Ich habe die gleiche Warnung bekommen. Aber dann habe ich den von Ihnen vorgeschlagenen Befehl ausgeführt und erhalte immer noch die gleiche Warnung.
6005,
Linux-Tools-OEM scheint genug gewesen zu sein.
6005,
1
@ 6005 Danke für die Rückmeldung, ich habe keine Ahnung, warum du ein anderes Verhalten erlebt hast.
Darkonaut
0

Unter Ubuntu ist "perf" ein Shell-Skript, das eine kernelspezifische perf-Binärdatei aufruft.

Aber das ist eigentlich nicht nötig, perf ist kompatibel. Entfernen Sie einfach den Wrapper aus / usr / bin und kopieren Sie eine der perf-Binärdateien von ./lib/linux-tools* darauf.

prabha101
quelle
-1
sudo apt-get install linux-tools-virtual
Tomer Ben David
quelle
Diese Antwort ist nutzlos, ohne einen Hinweis auf den anvisierten Ansatz zu haben
cmks