我尝试了使用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} %")