Como instalar a ferramenta de monitoramento "perf"?


Respostas:



59

No Ubuntu 14.04, tive que instalar três pacotes:

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

5
Quando tentei, basta usar sudo apt-get install linux-tools-common linux-tools-generic(pular a parte, que depende da versão do kernel) era suficiente.
Martin R.

4
@ Martin-R linux-tools-generic sempre aponta para as ferramentas para a versão mais atualizada do kernel. Ao executar um kernel mais antigo (por exemplo, um servidor com alguns meses de atividade), se você deseja perf sem reiniciar o kernel mais recente, é necessário instalar explicitamente as ferramentas emparelhadas com esse kernel (daí a uname -rexpansão do shell).
notpeter

sudo apt-get update sudo apt-get -y instalar o Linux-tools-comum linux-tools-genéricos linux-tools-uname -r
dylanninin

25

Certifique-se de instalar esta ferramenta para a versão correta do Kernel. Se você apenas digitar:

sudo apt-get install linux-tools

Ele o instalará para a versão mais recente do Linux em sua máquina e, caso você esteja inicializando uma versão anterior (digamos por motivos de estabilidade), ele irá errar. No meu caso, ele foi instalado para .45 em vez de .43 e eu tive que usar o seguinte comando para instalá-lo:

sudo apt-get install linux-tools-3.2.0.43

Você pode encontrar sua versão do Kernel digitando: uname -r

Para garantir que esteja funcionando corretamente, você pode tentar o seguinte: perf record /bin/ls

No caso de você instalar a ferramenta Zoom , é necessário ter o Perf instalado para poder usar todos os seus utilitários.


18

Para obter a versão mais recente do perf, independentemente da versão do kernel (a versão perf é independente da versão do kernel):

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 para verificar a versão atual


6

No 14.04, o linux-toolspacote não existe desqualificado:

$ 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

Em vez disso, você pode instalar um dos pacotes listados, dependendo do kernel que você instalou. A maioria dos usuários vai querer linux-tools-generic.


4

Instalei o Linux 3.17.2 na minha máquina e tentei

sudo apt-get install linux-tools-3.17.2

mostrou que o linux-tools não está presente. Nesse caso, baixe a versão necessária do kernel do linux, vá para linux-> tools-> perf:

cd linux/tools/perf

e, em seguida, execute o comando make:

make

e, em seguida, execute o comando make install:

make install

e depois reinicie. Você acabou de instalar o perf manualmente.


A reinicialização não é necessária. Além disso, se você deseja compilar a partir do código fonte; linux-tools-3.17.2 não deve ser necessário
Heartinpiece

1

A execução dos dois comandos a seguir fará isso!

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

Não funciona Estou usando o 12.04. Eu recebo o erro perf não encontrado para o kernel 3.2.0-60. Pode ser necessário instalar o Linux-tools-3.2.0-60-generic
Rishi Dua

Isso não parece funcionar.
SmallChess

1

Aqui está como funcionou para mim no Ubuntu 18.04:

Depois Command 'perf' not found, sugeriu a instalação com sudo apt install linux-tools-common. Fazer isso e tentar executar perfposteriormente ainda resultou em:

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

Eu decidi sudo apt-get install linux-tools-generice isso foi o suficiente.

Caso você encontre erro de permissão ao tentar usar perfcomo não raiz, veja aqui:

Execute perf sem direitos de root


Eu recebi o mesmo aviso. Mas então executei o comando que você sugeriu e ainda recebo o mesmo aviso.
6005

O linux-tools-oem parece ter sido suficiente.
6005

1
@ 6005 Thx pelo feedback, apesar de não ter uma ideia de por que você teve um comportamento diferente.
Darkonaut 20/03

0

No ubuntu, "perf" é um script de shell que chama um binário perf específico do kernel.

Mas isso não é realmente necessário, o perf é compatível. Apenas remova o wrapper de / usr / bin e copie qualquer um dos binários perf de ./lib/linux-tools* nele.


-1
sudo apt-get install linux-tools-virtual

esta resposta é inútil sem qualquer indício da abordagem orientada
cmks
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.