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


Odpowiedzi:



59

Na Ubuntu 14.04 musiałem zainstalować trzy pakiety:

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

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.


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ę


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.


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.


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

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


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*.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.