psutil get CPU utilization

Python psutil get CPU utilization

Microsoft's cleverness

我尝试了使用psutil.cpu_percent(interval=1, percpu=True)  它是返回所有核心的使用率
psutil.cpu_percent(interval=1, percpu=False)  返回所有核心的平均使用率
都无法获得和 windows任务管理器相似的数值,当我打开windows 性能监视器后,我突然明白了!

性能监视器的数值与python代码显示一致,皆为平均使用率,但是我发现当windows任务管理器CPU显示100%时,windows 性能监视器CPU平均使用概率皆超过10,最多不到80.

我想会不会微软只截取 CPU平均使用率 0~10,后面的不管呢.
于是一个公式悄然诞生:   windows任务管理器CPU使用率 = CPU平均使用率(0~10)*10
经过实验后,我的公式是对的!
import psutil
# windows CPU利用率计算 (CPU平均利用率截取0~10   10以后的不管(皆为100)
# (0~10)*10自然而然变成任务管理器的数值,CPU平均利用率是性能监视器的参数)
while True:
    value = psutil.cpu_percent(interval=1)  #cpu平均利用率
    if value > 10:
        continue
    else:
        print(f"{
      
      value*10} %")

Guess you like

Origin blog.csdn.net/qq_46273065/article/details/128827500