您好,欢迎来到百万美食网。
搜索
您的当前位置:首页python统计cpu利用率的方法

python统计cpu利用率的方法

来源:百万美食网


本文实例讲述了python统计cpu利用率的方法。分享给大家供大家参考。具体实现方法如下:

#-*-coding=utf-8-*-
import win32pdh
import time
# Counter paths
PROCESSOR_PERCENT = r'Processor(_Total)\% Processor Time'
MEMORY_PERCENT = r'Memory\% Committed Bytes In Use'
MEMORY_COMMITTED = r'MemoryCommitted Bytes'
PROCESS_BYTES = lambda x: r'Process(%s)Private Bytes' % x
class Query:
 def __init__(self):
 self.counters = {}
 self.query = None
 self.query = win32pdh.OpenQuery(None, 0)
 def add_counter(self, path):
 if win32pdh.ValidatePath(path) != 0:
 raise Exception('Invalid path: %s' % path)
 counter = win32pdh.AddCounter(self.query, path, 0)
 self.counters[path] = counter
 def remove_counter(self, path):
 win32pdh.RemoveCounter(self.counters[path])
 del self.counters[path]
 def get_values(self):
 values = {}
 win32pdh.CollectQueryData(self.query)
 for path in self.counters:
 status, value = win32pdh.GetFormattedCounterValue(
 self.counters[path], win32pdh.PDH_FMT_LONG)
 values[path] = value
 return values
sysinfo_query = Query()
sysinfo_query.add_counter(PROCESSOR_PERCENT)
sysinfo_query.add_counter(MEMORY_PERCENT)
sysinfo_query.get_values()
def get_sysinfo():
 """Return a tuple (mem_usage, cpu_usage)."""
 info = sysinfo_query.get_values()
 return info[MEMORY_PERCENT], info[PROCESSOR_PERCENT]
listcpu=[]
while True:
 time.sleep(2)
 x,y=get_sysinfo()
 listcpu.append(y)
 if len(listcpu)==10:
 icount=0
 for c in listcpu:
 if c>4:
 icount+=1
 if icount>5:
 print "在统计的1分钟内,cpu已经有5次大于4%"
 listcpu=[]
 print y

希望本文所述对大家的Python程序设计有所帮助。

Copyright © 2019- bwgh.cn 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务