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

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

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

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

То perf утилиту можно найти в linux-инструменты пакет.

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

sudo apt-get install linux-tools

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

sudo apt-get install linux-tools-3.2.0.43

Вы можете найти свой выпуск ядра, набрав :uname -r

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

На всякий случай, если вы собираетесь установить Инструмент масштабирования, вам необходимо установить Perf, чтобы иметь возможность использовать все его утилиты.

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

git clone --depth 1 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.gitcd linux/tools/perfmakecp perf /usr/bin

perf --version чтобы проверить текущую версию

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

$ sudo apt-get install linux-toolsReading package lists... DoneBuilding dependency tree       Reading state information... DonePackage 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.43You should explicitly select one to install.E: Package 'linux-tools' has no installation candidate

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

Я установил 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 вручную.

Ubuntu:

sudo apt install linux-tools-common

https://packages.ubuntu.com/eoan/linux-tools-common

Дистрибутив debian:

sudo apt install linux-perf

https://packages .debian.org/buster/linux-perf

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

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

Вот как это работало у меня в 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 как некорневой, посмотрите здесь:

Запуск perf без root-прав

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

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

@ddeimeke это кажется неуместным вопросом.

Что именно вы хотите отслеживать?

@ddeimeke, это не имеет значения