El módulo resource
proporciona getrusage
que le puede dar la información que necesita, al menos para plataformas tipo Unix.
Tenga en cuenta que el uso de CPU como porcentaje siempre se mide en un intervalo de tiempo. Básicamente, es la cantidad de tiempo que su programa realiza haciendo algo dividido por el intervalo de tiempo.
Por ejemplo, si su aplicación tarda 2 segundos de tiempo de CPU durante un período de 5 segundos, puede decirse que está usando el 40% de la CPU.
Tenga en cuenta que este cálculo, tan simple como parece, puede ser complicado cuando se utiliza un sistema multiprocesador. Si su aplicación usa 7 segundos de tiempo de CPU en 5 segundos de tiempo de reloj de pared en un sistema de dos procesadores, ¿dice usted que usa 140% o 70% de CPU?
Actualización: como gimel menciona, la función os.times
también proporciona esta información de forma independiente de la plataforma. Las notas de cálculo anteriores aún se aplican, por supuesto.
El problema que veo con esto es que esto es más de una medida de la cantidad de tiempo de CPU, que si bien puede ser útil, no creo que vaya a ayudar con este problema, porque necesito saber que en este momento, appX está usando el 10% de la capacidad total de la CPU. – UnkwnTech
"Ahora mismo", cada proceso usa el 100% en un solo sistema de procesador: solo hay un proceso en ejecución en cualquier momento, y es el que solicita su consumo de recursos.Tome una instantánea de la velocidad cada segundo y luego calcule la cantidad de CPU que ha utilizado en el último segundo. –