Monitoreo del Sistema con Psutil en Python

Monitoreo del Sistema con Psutil en Python

Psutil es una biblioteca de Python que proporciona una interfaz para obtener información del sistema operativo y de los procesos en ejecución. Es una herramienta poderosa que puede utilizarse para el monitoreo del sistema, la administración de procesos y el desarrollo de aplicaciones.

En este tutorial, aprenderemos a utilizar Psutil para obtener información sobre el uso de la CPU, la memoria, el disco y la red.

Instalación

Para instalar Psutil, ejecuta el siguiente comando en tu terminal:

pip install psutil

Obtención de información sobre la CPU

Psutil proporciona una serie de funciones para obtener información sobre el uso de la CPU. Por ejemplo, podemos obtener el porcentaje de uso de la CPU por núcleo con la siguiente función:

Python
import psutil

cpu_percent = psutil.cpu_percent()
print(cpu_percent)

Este código imprimirá el porcentaje de uso de la CPU como un número entero.

También podemos obtener el uso de la CPU por proceso con la siguiente función:

Python
import psutil

process = psutil.Process(pid)
cpu_percent = process.cpu_percent()
print(cpu_percent)

Este código imprimirá el porcentaje de uso de la CPU del proceso con el PID especificado.

Obtención de información sobre la memoria

Psutil proporciona una serie de funciones para obtener información sobre el uso de la memoria. Por ejemplo, podemos obtener la cantidad de memoria total y utilizada con las siguientes funciones:

Python
import psutil

memory_total = psutil.virtual_memory().total
memory_used = psutil.virtual_memory().used
print(memory_total, memory_used)

Este código imprimirá la cantidad de memoria total y utilizada como números enteros.

También podemos obtener la cantidad de memoria utilizada por proceso con la siguiente función:

Python
import psutil

process = psutil.Process(pid)
memory_used = process.memory_info().rss
print(memory_used)

Este código imprimirá la cantidad de memoria utilizada por el proceso con el PID especificado.

Obtención de información sobre el disco

Psutil proporciona una serie de funciones para obtener información sobre el uso del disco. Por ejemplo, podemos obtener la cantidad de espacio libre en el disco con la siguiente función:

Python
import psutil

disk_usage = psutil.disk_usage("/")
free_space = disk_usage.free
print(free_space)

Este código imprimirá la cantidad de espacio libre en el disco «/» como un número entero.

También podemos obtener la cantidad de espacio utilizado por un archivo o directorio con la siguiente función:

Python
import psutil

path = "/path/to/file"
disk_usage = psutil.disk_usage(path)
used_space = disk_usage.used
print(used_space)

Este código imprimirá la cantidad de espacio utilizado por el archivo o directorio especificado.

Obtención de información sobre la red

Psutil proporciona una serie de funciones para obtener información sobre el uso de la red. Por ejemplo, podemos obtener la cantidad de datos enviados y recibidos por la interfaz de red con las siguientes funciones:

Python
import psutil

network_io = psutil.net_io_counters()
sent = network_io.bytes_sent
received = network_io.bytes_recv
print(sent, received)

Este código imprimirá la cantidad de datos enviados y recibidos como números enteros.

También podemos obtener la cantidad de datos enviados y recibidos por un proceso con la siguiente función:

Python
import psutil

process = psutil.Process(pid)
network_io = process.net_io_counters()
sent = network_io.bytes_sent
received = network_io.bytes_recv
print(sent, received)

Este código imprimirá la cantidad de datos enviados y recibidos por el proceso con el PID especificado.

Conclusión

Psutil es una herramienta poderosa que puede utilizarse para el monitoreo del sistema, la administración de procesos y el desarrollo de aplicaciones. En este tutorial, aprendimos a utilizar Psutil para obtener información sobre el uso de la CPU, la memoria, el disco y la red.

Para obtener más información sobre Psutil, consulta la documentación oficial: https://psutil.readthedocs.io/en/latest/.