Jak zainstalować narzędzie do monitorowania „perf”?

75

Jak zainstalować perfnarzędzie do monitorowania?

samarasa
źródło
2
Co dokładnie chcesz monitorować?
ddeimeke
6
@ddeimeke, które wydaje się nieistotne pytanie.
dbliss
@ddeimeke to nie ma znaczenia
SmallChess

Odpowiedzi:

66

perfNarzędzie można znaleźć w Linux-tools opakowaniu.

James Henstridge
źródło
8
Prawdopodobnie chcesz również zainstalować linux-tools-generic, ponieważ zawiera on moduły jądra, z którymi perf współpracuje.
Allen
Tak @Allen linux-tools-generic było tym, czego potrzebowałem!
jerome
59

Na Ubuntu 14.04 musiałem zainstalować trzy pakiety:

apt-get install linux-tools-common linux-tools-generic linux-tools-`uname -r`
notpeter
źródło
5
Kiedy próbowałem, wystarczyło użyć sudo apt-get install linux-tools-common linux-tools-generic(pomijając część, która zależy od wersji jądra).
Martin R.
4
@ Martin-R linux-tools-generic zawsze wskazuje na narzędzia dla najbardziej aktualnej wersji jądra. Jeśli chcesz uruchomić starsze jądro (np. Serwer z kilkumiesięcznym czasem pracy), jeśli chcesz perf bez restartu do nowszego jądra, musisz jawnie zainstalować narzędzia sparowane z tym jądrem (stąd uname -rrozszerzenie powłoki).
notpeter
sudo apt-get update sudo apt-get -y zainstaluj linux-tools-common linux-tools-generic linux- uname -r
tools-
25

Upewnij się, że instalujesz to narzędzie dla właściwej wersji jądra. Jeśli po prostu wpiszesz:

sudo apt-get install linux-tools

Zainstaluje go na najnowszej wersji Linuksa na twoim komputerze, a jeśli uruchomisz poprzednią wersję (powiedzmy ze względu na stabilność), to będzie błąd. W moim przypadku został zainstalowany na .45 zamiast .43 i musiałem użyć następującego polecenia, aby go zainstalować:

sudo apt-get install linux-tools-3.2.0.43

Możesz znaleźć swoją wersję jądra, pisząc: uname -r

Aby upewnić się, że działa poprawnie, możesz spróbować: perf record /bin/ls

Na wypadek, gdybyś chciał zainstalować narzędzie Zoom , musisz mieć zainstalowany Perf, aby móc korzystać ze wszystkich jego narzędzi.

Mona Jalal
źródło
18

Aby uzyskać najnowszą wersję perf bez względu na wersję jądra (wersja perf jest niezależna od wersji jądra):

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 aby sprawdzić aktualną wersję

bodha
źródło
6

W 14.04 linux-toolspakiet nie istnieje bez zastrzeżeń:

$ 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

Zamiast tego możesz zainstalować jeden z wymienionych pakietów, w zależności od zainstalowanego jądra. Większość użytkowników będzie chciała linux-tools-generic.

Drew Noakes
źródło
4

Zainstalowałem Linux 3.17.2 na swoim komputerze i próbowałem

sudo apt-get install linux-tools-3.17.2

pokazało, że narzędzia linux nie są obecne. W takim przypadku pobierz wymaganą wersję jądra Linuksa, przejdź do linux-> narzędzia-> perf:

cd linux/tools/perf

a następnie uruchom polecenie make:

make

a następnie uruchom polecenie make install:

make install

a następnie uruchom ponownie. Właśnie zainstalowałeś perf ręcznie.

Abhishek Abhyankar
źródło
Ponowne uruchomienie nie jest konieczne. Ponadto, jeśli chcesz skompilować z kodu źródłowego; linux-tools-3.17.2 nie powinien być konieczny
Heartinpiece 19.10.16
1

Wykonanie dwóch następujących poleceń to zrobi!

sudo apt-get install linux-tools-common 
sudo apt-get install linux-tools
feniks bai
źródło
Nie działa Używam 12.04. Otrzymuję błąd perf nie znaleziony dla jądra 3.2.0-60. Może być konieczne zainstalowanie linux-tools-3.2.0-60-generic
Rishi Dua
To nie działa.
SmallChess
1

Oto jak to dla mnie działało Na Ubuntu 18.04:

Następnie Command 'perf' not foundzasugerował instalację z sudo apt install linux-tools-common. Wykonanie tego i próba perfpóźniejszego uruchomienia wciąż skutkowały:

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

Zdecydowałem się na sudo apt-get install linux-tools-genericto i to wystarczyło.

Jeśli napotkasz błąd uprawnień podczas próby użycia go perfjako użytkownika innego niż root, spójrz tutaj:

Uruchom perf bez uprawnień roota

Darkonaut
źródło
Dostałem to samo ostrzeżenie. Ale potem wykonałem polecenie, które zasugerowałeś, i wciąż otrzymuję to samo ostrzeżenie.
6005
linux-tools-oem wydaje się być wystarczający.
6005
1
@ 6005 Dziękuję za opinię, ale nie mam pojęcia, dlaczego doświadczyłeś innego zachowania.
Darkonaut
0

Na Ubuntu „perf” to skrypt powłoki, który wywołuje binarny perf specyficzny dla jądra.

Ale to nie jest tak naprawdę potrzebne, perf jest kompatybilny. Po prostu usuń opakowanie z / usr / bin i skopiuj do niego dowolny plik binarny perf z ./lib/linux-tools*.

prabha101
źródło
-1
sudo apt-get install linux-tools-virtual
Tomer Ben David
źródło
ta odpowiedź jest bezużyteczna bez cienia
podejrzanego