¿Cómo instalar la herramienta de monitoreo "perf"?


Respuestas:



59

En Ubuntu 14.04 tuve que instalar tres paquetes:

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

55
Cuando lo probé, solo usar sudo apt-get install linux-tools-common linux-tools-generic(omitir la parte, que depende de la versión del kernel) fue suficiente.
Martin R.

44
@ Martin-R linux-tools-generic siempre apunta a las herramientas para la versión más actualizada del kernel. Al ejecutar un kernel anterior (p. Ej., Un servidor con un par de meses de tiempo de actividad) si desea realizar un reinicio sin reiniciar al kernel más nuevo, debe instalar explícitamente las herramientas emparejadas con ese kernel (de ahí la uname -rexpansión del shell).
notpeter

sudo apt-get update sudo apt-get -y install linux-tools-common linux-tools-generic linux- uname -r
tools-

25

Asegúrese de instalar esta herramienta para la versión correcta de Kernel. Si solo escribe:

sudo apt-get install linux-tools

Lo instalará para la última versión de Linux en su máquina y en caso de que esté iniciando una versión anterior (por ejemplo, por razones de estabilidad), errará. En mi caso, se instaló para .45 en lugar de .43 y tuve que usar el siguiente comando para instalarlo:

sudo apt-get install linux-tools-3.2.0.43

Puede encontrar su versión de Kernel escribiendo: uname -r

Para asegurarte de que funciona correctamente, puedes probar esto: perf record /bin/ls

En caso de que vaya a instalar la herramienta Zoom , debe tener Perf instalado para poder utilizar todas sus utilidades.


18

Para obtener la última versión de perf independientemente de la versión del kernel (la versión de perf es independiente de la versión del 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 la versión actual


6

En 14.04, el linux-toolspaquete no existe sin calificar:

$ 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

En su lugar, puede instalar uno de los paquetes enumerados, dependiendo del núcleo que haya instalado. La mayoría de los usuarios querrán linux-tools-generic.


4

Instalé Linux 3.17.2 en mi máquina y probé

sudo apt-get install linux-tools-3.17.2

demostró que linux-tools no está presente. En este caso, descargue la versión requerida del kernel de Linux, vaya a Linux-> herramientas-> perf:

cd linux/tools/perf

y luego ejecuta make command:

make

y luego ejecute el comando make install:

make install

y luego reiniciar. Acabas de instalar perf manualmente.


Reiniciar no es necesario. Además, si va a compilar desde el código fuente; linux-tools-3.17.2 no debería ser necesario
Heartinpiece

1

¡Ejecutar los siguientes dos comandos lo hará!

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

No funciona Estoy usando 12.04. Me sale el error perf no encontrado para el kernel 3.2.0-60. Es posible que necesite instalar linux-tools-3.2.0-60-generic
Rishi Dua

Esto no parece funcionar.
SmallChess

1

Así es como me funcionó en Ubuntu 18.04:

Después Command 'perf' not found, sugirió instalar con sudo apt install linux-tools-common. Hacerlo e intentar correr perfdespués aún resultó en:

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

Decidí sudo apt-get install linux-tools-genericy esto fue suficiente.

En caso de que encuentre un error de permiso cuando intente usarlo perfcomo no root, mire aquí:

Ejecutar perf sin derechos de root


Recibí la misma advertencia. Pero luego ejecuté el comando que sugirió y sigo recibiendo la misma advertencia.
6005

linux-tools-oem parece haber sido suficiente.
6005

1
@ 6005 Thx por los comentarios, sin embargo, no tengo idea de por qué experimentaste un comportamiento diferente.
Darkonaut

0

En ubuntu, "perf" es un script de shell que llama a un binario perf específico del núcleo.

Pero eso no es realmente necesario, perf es compatible. Simplemente quite el contenedor de / usr / bin y copie en él cualquiera de los binarios de perf ./lib/linux-tools*.


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

esta respuesta es inútil sin ningún indicio del enfoque dirigido
cmks
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.