sinat_36708050
2016-11-14 10:44
采纳率: 0%
浏览 1.9k

python脚本通过wmi在window2012R2上获取CPU使用率和任务管理器显示的不一样?

尝试了直接用网上的,发现获取到的数据和我获取到的是一样的。与任务管理器显示的不一样。
代码:
#!/usr/bin/env python

-*- coding: utf-8 -*-

import wmi
import os
import sys
import platform
import time
def cpu_use():
#5s取一次CPU的使用率
c = wmi.WMI()
while True:
for cpu in c.Win32_Processor():
timestamp = time.strftime('%a, %d %b %Y %H:%M:%S', time.localtime())
print '%s | Utilization: %s: %d %%' % (timestamp, cpu.DeviceID, cpu.LoadPercentage)
time.sleep(5)
if name == '__main__':
cpu_use()
结果显示 :
C:\Users\Administrator\Desktop>python test.py
Mon, 14 Nov 2016 17:13:34 | Utilization: CPU0: 1 %
Mon, 14 Nov 2016 17:13:39 | Utilization: CPU1: 100 %
Mon, 14 Nov 2016 17:13:46 | Utilization: CPU0: 1 %
Mon, 14 Nov 2016 17:13:51 | Utilization: CPU1: 100 %
Mon, 14 Nov 2016 17:13:58 | Utilization: CPU0: 1 %
Mon, 14 Nov 2016 17:14:03 | Utilization: CPU1: 100 %
Mon, 14 Nov 2016 17:14:10 | Utilization: CPU0: 1 %
Mon, 14 Nov 2016 17:14:15 | Utilization: CPU1: 100 %
Mon, 14 Nov 2016 17:14:23 | Utilization: CPU0: 1 %
任务管理器显示CPU 使用率在3%-4%跳动

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • blownewbee 2016-11-14 12:19

    任务管理器显示的是每秒钟所有cpu的平均值,而wmi获得的是某个cpu的瞬时值,所以有出入不足为奇。

    点赞 打赏 评论

相关推荐 更多相似问题