En el mundo actual de rivalidad corporativa despiadada, es fundamental que aprendamos a aprovechar al máximo lo que tenemos. El desperdicio de recursos de hardware o software, o la falta de comprensión sobre cómo usarlos de manera más efectiva, es una pérdida que simplemente no podemos permitirnos si queremos estar en la cima de nuestro juego. Para tal propósito, hay varias herramientas disponibles para ayudarlo a auditar el rendimiento de su sistema Linux y una de ellas es la utilidad perf.
Perf es una utilidad de línea de comandos de creación de perfiles de CPU ligera que supervisa los eventos del programa y examina el rendimiento de la CPU. El comando perf puede registrar contadores de rendimiento de la CPU y puntos de seguimiento y se utiliza como interfaz principal para las funciones de supervisión del rendimiento del kernel de Linux. Puede generar métricas de rendimiento a partir de un conjunto de contadores de rendimiento e inyectar scripts cortos (scripts BPF) en el núcleo para procesar los datos en tiempo real. En este artículo, veremos cómo puede usar el comando perf para el sistema operativo Linux para su propio beneficio.
Puede instalar el paquete perf directamente desde la terminal, ya que primero requiere la instalación de algunas herramientas adicionales a las que puede llamar requisitos previos y sin ellas no puede instalar esta utilidad como se muestra a continuación.
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071112404011.png)
Entonces, para encontrar las herramientas necesarias, puede tomar la ayuda del comando perf escribiendo.
$ perf --version
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071112404100.png)
Después de escribir ese comando, puede ver que el comando perf no está disponible para usarse, pero se puede instalar con cualquier paquete de los dos que se mencionan en la imagen. Así que en nuestro caso hemos instalado el primer paquete tecleando.
$ sudo apt install linux-tools-generic
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071112404189.png)
Después de eso, debería poder usar la utilidad perf y puede verificar esto escribiendo nuevamente.
$ perf --version
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071112404263.png)
Como este comando se usa para mostrar el rendimiento de su sistema operativo, es por eso que este comando es muy importante de usar y no puede usarlo como un usuario normal, como puede ver en la imagen a continuación.
$ perf stat ls
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071112404226.png)
Ahora, para obtener este permiso, debe abrir y editar un /proc/sys/kernel/perf_event_paranoid archivo utilizando cualquier editor que tenga. Esta información también se menciona en la imagen de arriba y también el valor de este archivo es 3 de forma predeterminada, por lo que también debe cambiar el valor a 0 o -1 según su elección. Por ejemplo, abriremos este archivo usando un editor nano y para eso escribiremos.
$ sudo nano /proc/sys/kernel/perf_event_paranoid
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071112404212.png)
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071112404375.png)
Ahora, para hacer que estos cambios sean permanentes, debe editar otro archivo que es /etc/sysctl.conf . Después de eso, debe escribir el comando mencionado para obtener acceso al comando.
Kernel.perf_event_paranoid = 0
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071112404310.png)
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071112404303.png)
Cómo listar todos los eventos usando un comando perf
Como sabe, anteriormente no teníamos acceso al comando perf, pero después de realizar el cambio anterior, ahora puede usar este comando y puede ver la lista de todos los eventos junto con las estadísticas escribiendo.
$perf stat ls
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071112404301.png)
El comando anterior indica el rendimiento del comando list (ls) y puede ver que tardó alrededor de 1,80 milisegundos en cargar los resultados de este comando. Si desea mostrar todos los eventos en diferentes categorías, puede hacerlo escribiendo.
$ perf list
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071112404461.png)
Como puede ver, todos los eventos ahora se clasifican en eventos de software y hardware. Entonces, si está interesado específicamente en un solo tipo de evento, puede hacerlo escribiendo
$ perf list sw
Este comando mostrará todos los eventos basados en software como se muestra a continuación y también puede obtener la información de los eventos relacionados con el hardware escribiendo.
$ perf list hw
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071112404540.png)
Conclusión
En este artículo, hemos revisado el comando perf, que es útil para observar el rendimiento y los eventos de la CPU de su sistema. La herramienta perf lo ayuda a mejorar su sistema al revelar qué aplicaciones tardan más en ejecutarse. Sin embargo, utilizar esta utilidad no es tan sencillo como parece. Primero necesita instalar algunos paquetes, y luego también necesita hacer algunos cambios en su archivo de sistema para obtener acceso, que también se analiza en este artículo.