LINUX

Psutil: biblioteca para Fectch, proceso en ejecución e información de utilización del sistema

Psutil es una biblioteca basada en Python, proporciona una interfaz para monitorear los recursos de su sistema informático. Puede utilizar esta utilidad y sus API disponibles para conocer todos los detalles sobre los procesos que se están ejecutando actualmente, su consumo de recursos como la memoria, la red y el uso del disco, etc. Es una aplicación multiplataforma que funciona en todos los sistemas operativos populares como Linux, Microsoft Windows , MacOS y FreeBSDs. Actualmente, es posible que esté utilizando muchas utilidades / comandos diferentes para monitorear los procesos de su sistema, pero Psutil combina las características de comandos como top, ps, netstat, lsof, df, etc. en un solo lugar. Se ejecuta en sistemas de 32 y 64 bits y es una biblioteca extremadamente optimizada. Utiliza la forma más eficiente posible de recopilar la información deseada del sistema. En este tutorial, aprenderemos el proceso de instalación y uso de esta utilidad. Si tiene experiencia en programación o secuencias de comandos del sistema, debería poder aprender el funcionamiento de esta utilidad con gran facilidad. Toma una taza de café y comencemos 🙂

Cómo instalar Psutil en Ubuntu 16.10 / 16.04

En aras de la demostración, usaremos la última versión 16.10 de Ubuntu para instalar y mostrar el uso de esta biblioteca. El mismo conjunto de instrucciones debería funcionar para cualquier versión anterior de Ubuntu y sistema basado en Debian. La forma más fácil de instalar esta biblioteca es usando pip. Ejecute el siguiente comando en el terminal de su sistema para instalar la utilidad pip.

sudo apt install python-pip

Una vez que se haya instalado el pip, ejecute el siguiente comando para instalar psutil.

sudo pip install psutil

¡Felicidades! Psutil se ha instalado con éxito ahora. Seguiremos adelante y veremos algunos de sus usos de ejemplo.

Cómo usar Psutil

En primer lugar, entendamos cómo podemos ejecutar comandos de Python en la terminal de nuestro sistema. Python ofrece un shell nativo, simplemente ejecute el comando «python» y debería llevarlo al shell donde puede ejecutar comandos relacionados con Python. La siguiente captura de pantalla demostrará aún más este punto.

pitón Psutil

Ahora ejecutaremos todos los comandos relacionados con la biblioteca Psutil en este shell.

Para encontrar el uso de la CPU en porcentaje, debemos ejecutar dos comandos en la consola de Python. El primer comando importará la biblioteca psutil y el siguiente se utilizará para devolver el valor del consumo actual de la CPU en porcentaje.

import psutil
psutil.cpu_percent(interval=1)

La siguiente captura de pantalla debería aclarar más este concepto.

cpu Psutil

El siguiente comando devolverá el número total de CPU de nuestro sistema Linux. También hemos incluido el resultado de ejemplo a continuación.

psutil.cpu_count()

>> psutil.cpu_count()
1

Si desea ver el valor del parámetro de frecuencia de la CPU, use el siguiente comando en el shell de Python.

psutil.cpu_freq()

Para monitorear el consumo de memoria virtual de su sistema, use los siguientes comandos en la consola.

import psutil
mem = psutil.virtual_memory()
mem

Aquí está el resultado de muestra del fragmento anterior.

aun@ubuntu:~$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import psutil
>>> mem = psutil.virtual_memory()
>>> mem
svmem(total=1022431232, available=315588608, percent=69.1, used=689242112, free=26132480, active=370671616, inactive=366432256, buffers=17944576, cached=289112064, shared=2854912)
>>>

Para ver el consumo de memoria de intercambio, use la función «psutil.swap_memory ()» en la consola.

>> psutil.swap_memory()
sswap(total=1071640576, used=137801728, free=933838848, percent=12.9, sin=14856192, sout=146563072)

Realicemos algunas operaciones relacionadas con el disco usando Psutil. Ejecute el siguiente fragmento de código para conocer las particiones que tiene el disco duro de su sistema.

 import psutil
psutil.disk_partitions()

Salida de ejemplo:

>>> import psutil
>>> psutil.disk_partitions()
[sdiskpart(device="/dev/sda1", mountpoint="/", fstype="ext4", opts="rw,relatime,errors=remount-ro,data=ordered")]
>>>

El siguiente fragmento le dará el consumo actual de disco en la partición raíz de su sistema.

import psutil
psutil.disk_usage('/')

Salida de ejemplo:

> import psutil
>>> psutil.disk_usage('/')
sdiskusage(total=19945680896, used=4598263808, free=14310637568, percent=24.3)
>>>

Psutil también es bueno para monitorear los componentes de hardware de su sistema. Por ejemplo, puede encontrar detalles sobre los sensores de temperatura del hardware de su sistema utilizando los siguientes parámetros.

psutil.sensors_temperatures()

Mostrará la salida de la siguiente manera, puede usar esta salida en su bash o scripts de programación para generar cualquier tipo de disparadores.

>>> psutil.sensors_temperatures()
{'coretemp': [shwtemp(label="Physical id 0", current=100.0, high=100.0, critical=100.0), shwtemp(label="Core 0", current=100.0, high=100.0, critical=100.0)]}

Ahora aprendamos un poco más sobre cómo encontrar detalles sobre los procesos en ejecución, el siguiente comando mostrará los ID de proceso (PID) de los procesos que se están ejecutando actualmente en nuestro sistema Linux.

import psutil
psutil.pids()

Aquí hay un ejemplo de salida de este comando:

>> import psutil
>>> psutil.pids()
[1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 28, 29, 30, 31, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 95, 96, 144, 145, 146, 147, 148, 149, 150, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, ......]

psutil.pid_exists (pid) es otro comando que se utiliza para identificar si existe o no algún proceso con ID especificado. De manera similar, también tiene muchas otras funciones que son extremadamente útiles para derivar los resultados deseados de los procesos del sistema.

Psutil es una utilidad extremadamente útil, ofrece una gran cantidad de funciones / API que se pueden usar para monitorear adecuadamente su sistema. Le sorprenderá saber que los más de 4600 proyectos de código abierto actualmente utilizan Psutil en el backend para realizar muchas tareas de monitoreo de recursos del sistema.

Psutil también se ha portado a muchos otros lenguajes, entre los que destacan: Ruby, C, Go, Node, Rust. Los detalles completos sobre su portabilidad se pueden encontrar en Github.

Espero que hayas disfrutado de este artículo, Psutil tiene mucho que ofrecer, deberías poder encontrar muchas funciones / API interesantes que puedes usar a diario para mejorar el rendimiento de tu sistema. Si tiene alguna pregunta o comentario, no dude en hacérnoslo saber en la sección de comentarios del artículo.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar