HOWTO · Python

Obtener el uso de la CPU en Python

Este tutorial muestra cómo obtener el uso actual de la CPU de un sistema operativo en Python. Conozca varios métodos, incluido el uso de la biblioteca psutil y la ejecución de comandos de shell, para supervisar el rendimiento de la CPU de forma eficaz. Descubra ejemplos de código prácticos y explicaciones detalladas para mejorar sus habilidades en Python y optimizar el rendimiento del sistema.

En esta página

En la era digital actual, comprender el rendimiento del sistema es crucial tanto para los desarrolladores como para los administradores de sistemas. Una métrica clave que a menudo se examina de cerca es el uso de la CPU. Tanto si está optimizando una aplicación de Python como supervisando el estado del sistema, saber cómo obtener el uso de la CPU puede ser de un valor incalculable.

Este tutorial le guiará a través de varios métodos para obtener el uso actual de la CPU de un sistema operativo utilizando Python. Al final de este artículo, tendrá una idea sólida de cómo implementar estas técnicas de forma eficaz, lo que le permitirá supervisar el rendimiento de la CPU en tiempo real. ¡Empecemos!

Método 1: Utilizar la biblioteca psutil

Uno de los métodos más populares para obtener el uso de la CPU en Python es utilizar la biblioteca psutil. Esta biblioteca es una herramienta potente que proporciona una interfaz para obtener información sobre la utilización del sistema, incluida la CPU, la memoria, los discos y la red. Para empezar, tendrá que instalar psutil. Puede hacerlo con pip:

pip install psutil

Una vez instalada, puede utilizar el siguiente código para obtener el uso de la CPU:

import psutil

cpu_usage = psutil.cpu_percent(interval=1)
print(f"Current CPU Usage: {cpu_usage}%")

Salida:

Current CPU Usage: 15.0%

Este fragmento de código importa la biblioteca psutil y llama al método cpu_percent. El parámetro interval especifica el tiempo en segundos que se debe esperar antes de calcular el uso de la CPU. En este caso, espera un segundo antes de devolver el porcentaje de CPU utilizado. Este método es sencillo y proporciona datos en tiempo real, lo que lo convierte en una opción excelente para supervisar el rendimiento.

Método 2: Utilizar la biblioteca os

Otra forma de obtener el uso de la CPU en Python es utilizar la biblioteca integrada os. Aunque puede que no sea tan completa como psutil, aun así puede proporcionar información básica sobre el uso de la CPU. Así es como puede hacerlo:

import os

cpu_usage = os.popen("wmic cpu get loadpercentage").read()
print(f"Current CPU Usage: {cpu_usage.strip()}")

Salida:

Current CPU Usage: 15

En este código, utilizamos la función os.popen() para ejecutar un comando de shell que obtiene el porcentaje de carga de la CPU en sistemas Windows. El comando wmic cpu get loadpercentage obtiene la carga actual de la CPU. El método read() captura la salida, que luego se imprime. Tenga en cuenta que este método depende de la plataforma y funciona principalmente en Windows. Si está en un sistema de tipo Unix, quizá prefiera utilizar un comando diferente.

Método 3: Utilizar el módulo subprocess

Si desea más control sobre la ejecución de comandos de shell y la captura de su salida, el módulo subprocess es una opción excelente. Este método puede utilizarse en diferentes sistemas operativos, lo que lo hace versátil. Así es como puede obtener el uso de la CPU con subprocess:

import subprocess

cpu_usage = subprocess.check_output("top -bn1 | grep 'Cpu(s)'", shell=True).decode('utf-8')
print(f"Current CPU Usage: {cpu_usage.split()[1]}")

Salida:

Current CPU Usage: 15.0

En este ejemplo, utilizamos subprocess.check_output() para ejecutar el comando top, que ofrece una vista dinámica en tiempo real de los procesos del sistema. Los indicadores -bn1 le dicen al comando que se ejecute en modo por lotes y que solo muestre la salida una vez. Luego buscamos la línea que contiene ‘Cpu(s)’ y decodificamos la salida a un formato de cadena. Por último, dividimos la cadena para extraer el porcentaje de uso de la CPU. Este método es potente y flexible, y le permite personalizar el comando según lo necesite.

Método 4: Utilizar el módulo platform

Si desea un método que funcione sin problemas en diferentes plataformas, el módulo platform puede combinarse con otros métodos para garantizar la compatibilidad. Así es como puede obtener el uso de la CPU según el sistema operativo:

import platform
import psutil

if platform.system() == "Windows":
    cpu_usage = psutil.cpu_percent(interval=1)
elif platform.system() == "Linux":
    cpu_usage = psutil.cpu_percent(interval=1)
else:
    cpu_usage = "Unsupported OS"

print(f"Current CPU Usage: {cpu_usage}")

Salida:

Current CPU Usage: 15.0%

En este código, primero comprobamos el sistema operativo con platform.system(). Dependiendo de si es Windows o Linux, llamamos a psutil.cpu_percent() para obtener el uso de la CPU. Si el sistema operativo no es compatible, devolvemos un mensaje que lo indica. Este método es especialmente útil en aplicaciones que deben ejecutarse en diversos entornos, ya que garantiza que se aplique el método adecuado según el sistema operativo.

Conclusión

En este artículo, hemos explorado varios métodos para obtener el uso actual de la CPU en Python. Desde utilizar la biblioteca psutil hasta ejecutar comandos de shell con os y subprocess, cada método tiene sus puntos fuertes y sus casos de uso. Dependiendo de sus requisitos concretos, puede elegir el método que mejor se adapte a sus necesidades. Supervisar el uso de la CPU es esencial para optimizar el rendimiento y garantizar que sus aplicaciones funcionen sin problemas. Ahora que dispone de estas técnicas, puede seguir de forma eficaz el rendimiento de la CPU en sus proyectos de Python.

FAQ

  1. ¿Cuál es la mejor biblioteca para supervisar el uso de la CPU en Python?
    La biblioteca psutil está ampliamente considerada como la mejor opción debido a sus funciones completas y su facilidad de uso.

  2. ¿Puedo obtener el uso de la CPU en cualquier sistema operativo utilizando Python?
    Sí, mediante comandos específicos de cada plataforma o bibliotecas como psutil, puede obtener el uso de la CPU en varios sistemas operativos.

  3. ¿La información sobre el uso de la CPU es en tiempo real?
    Sí, métodos como psutil.cpu_percent(interval=1) proporcionan datos de uso de la CPU en tiempo real.

  4. ¿Cómo instalo la biblioteca psutil?
    Puede instalar psutil con pip mediante el comando pip install psutil.

  5. ¿Puedo supervisar el uso de la CPU de forma continua?
    Sí, puede configurar un bucle en su script de Python para supervisar continuamente el uso de la CPU a intervalos especificados.