Как мне установить perf
инструмент мониторинга?
В Ubuntu мне пришлось установить три пакета:
apt-get install linux-tools-common linux-tools-generic linux-tools-`uname -r`
Убедитесь, что вы устанавливаете этот инструмент для правильной версии ядра. Если вы просто наберете:
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
Выполнение следующих двух команд сделает это!
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
как некорневой, посмотрите здесь:
В ubuntu "perf" - это сценарий оболочки, который вызывает двоичный файл perf, специфичный для ядра.
Но на самом деле это не нужно, perf совместим. Просто удалите оболочку из /usr/bin и скопируйте в нее любой из двоичных файлов perf из ./lib/linux-tools*.
@ddeimeke это кажется неуместным вопросом.
Что именно вы хотите отслеживать?
@ddeimeke, это не имеет значения