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:
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:
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:
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:
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:
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:
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:
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:
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/.