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

75

¿Cómo instalo la perfherramienta de monitoreo?

samarasa
fuente
2
¿Qué es exactamente lo que quieres monitorear?
ddeimeke
66
@ddeimeke que parece una pregunta irrelevante.
dbliss
@ddeimeke no importa
SmallChess

Respuestas:

66

La perfutilidad se puede encontrar en el paquete linux-tools .

James Henstridge
fuente
8
Probablemente también desee instalar linux-tools-generic, ya que incluye módulos de kernel con los que interactúa perf.
Allen
¡Sí, @Allen linux-tools-generic era lo que necesitaba!
Jerome
59

En Ubuntu 14.04 tuve que instalar tres paquetes:

apt-get install linux-tools-common linux-tools-generic linux-tools-`uname -r`
notpeter
fuente
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.

Mona Jalal
fuente
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

bodha
fuente
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.

Drew Noakes
fuente
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.

Abhishek Abhyankar
fuente
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
Phoenix Bai
fuente
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

Darkonaut
fuente
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*.

prabha101
fuente
-1
sudo apt-get install linux-tools-virtual
Tomer Ben David
fuente
esta respuesta es inútil sin ningún indicio del enfoque dirigido
cmks