Як встановити інструмент моніторингу «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розширення оболонки).
непетер

sudo apt-get update sudo apt-get - я встановлюю linux-tools-поширені linux-tools-generic linux-tools-uname -r
dylanninin

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-інструментів немає. У цьому випадку завантажте необхідну версію ядра Linux, перейдіть до linux-> tools-> perf:

cd linux/tools/perf

а потім запустіть команду make:

make

а потім запустіть команду make install:

make install

а потім перезавантажте. Ви просто встановили перф вручну.


Перезавантажувати не потрібно. Крім того, якщо ви збираєтеся компілювати з вихідного коду; 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як некорінного, подивіться тут:

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


Я отримав таке ж попередження. Але тоді я запустив команду, яку ви запропонували, і я все одно отримую те саме попередження.
6005

linux-tools-oem, здається, було достатньо.
6005

1
@ 6005 Thx для зворотного зв'язку, я не маю уявлення, чому ви відчули іншу поведінку.
Дарконаут

0

На ubuntu "perf" - це сценарій оболонки, який викликає специфічну для ядра біткоїну.

Але це насправді не потрібно, Perf сумісний. Просто вийміть обгортку з / usr / bin і скопіюйте будь-який з двійкових файлів perf з ./lib/linux-tools* на неї.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.