python统计cpu的利用率
发布时间:2020-12-17 17:17:07 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #-*-coding=utf-8-*-import win32pdhimport time# Counter pathsPROCESSOR_PERCENT = r'Processor(_Total)% Processor Time'MEMORY_PERCENT = r'Me
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 #-*-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 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |