Как установить инструмент мониторинга «perf»?


Ответы:



59

На Ubuntu 14.04 мне пришлось установить три пакета:

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

5
Когда я попробовал, достаточно было просто использовать sudo apt-get install linux-tools-common linux-tools-generic(пропуская часть, которая зависит от версии ядра).
Мартин Р.

4
@ Martin-R linux-tools-generic всегда указывает на инструменты для самой последней версии ядра. Если вы используете старое ядро ​​(например, сервер с временем работы в течение нескольких месяцев), если вы хотите выполнить perf без перезагрузки на новое ядро, вы должны явно установить инструменты, сопряженные с этим ядром (отсюда uname -rрасширение оболочки).
notpeter

sudo apt-get update sudo apt-get -y установить linux-tools-common linux-tools-generic linux- uname -r
tools-

25

Убедитесь, что вы устанавливаете этот инструмент для правильной версии ядра. Если вы просто наберете:

sudo apt-get install linux-tools

Он установит его для последней версии Linux на вашем компьютере, и в случае, если вы загружаете предыдущую версию (скажем, из соображений стабильности), произойдет ошибка. В моем случае он был установлен для .45 вместо .43, и мне пришлось использовать следующую команду:

sudo apt-get install linux-tools-3.2.0.43

Вы можете найти свой релиз Kernel, набрав: uname -r

Чтобы убедиться, что он работает правильно, вы можете попробовать это: perf record /bin/ls

На случай, если вы собираетесь установить инструмент Zoom , вам нужно установить Perf, чтобы иметь возможность использовать все его утилиты.


18

Чтобы получить последнюю версию perf независимо от версии ядра (версия perf не зависит от версии ядра):

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 проверить текущую версию


6

В 14.04 linux-toolsпакет не существует неквалифицированным:

$ 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

Вместо этого вы можете установить один из перечисленных пакетов в зависимости от установленного вами ядра. Большинство пользователей захотят linux-tools-generic.


4

Я установил Linux 3.17.2 на свою машину и попробовал

sudo apt-get install linux-tools-3.17.2

это показало, что linux-tools нет. В этом случае загрузите требуемую версию ядра Linux, перейдите по адресу linux-> tools-> perf:

cd linux/tools/perf

и затем выполните команду make:

make

и затем выполните команду make install:

make install

и затем перезагрузите компьютер. Вы только что установили perf вручную.


Перезагрузка не нужна. Кроме того, если вы хотите скомпилировать из исходного кода; В linux-tools-3.17.2 не должно быть необходимости
Heartinpiece

1

Выполнение следующих двух команд сделает это!

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

Не работает Я использую 12.04. Я получаю ошибку perf не найдена для ядра 3.2.0-60. Вам может потребоваться установить linux-tools-3.2.0-60-generic
Rishi Dua

Это не выглядит работой.
SmallChess

1

Вот как это работает для меня в Ubuntu 18.04:

После Command 'perf' not found, он предложил установить с sudo apt install linux-tools-common. Выполнение этого и попытка запустить perfпотом все равно привело к:

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

Я решил, sudo apt-get install linux-tools-genericи этого было достаточно.

В случае, если вы столкнетесь с ошибкой-разрешением при попытке использовать perfне-root, посмотрите здесь:

Запустите perf без рут-прав


Я получил то же предупреждение. Но затем я выполнил команду, которую вы предложили, и я все еще получаю то же предупреждение.
6005

linux-tools-oem, кажется, было достаточно.
6005

1
@ 6005 Спасибо за отзыв, хотя я не представляю, почему вы испытали другое поведение.
Darkonaut

0

В Ubuntu «perf» - это сценарий оболочки, который вызывает специфичный для ядра двоичный файл perf.

Но это на самом деле не нужно, перф совместим. Просто удалите обертку из / usr / bin и скопируйте в нее любой из исполняемых двоичных файлов из ./lib/linux-tools*.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.