python统计cpu利用率的方法
程序员文章站
2022-04-08 14:58:59
本文实例讲述了python统计cpu利用率的方法。分享给大家供大家参考。具体实现方法如下:
#-*-coding=utf-8-*-
import win32pd...
本文实例讲述了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'\Memory\Committed 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程序设计有所帮助。
上一篇: C#之打印乘法表
推荐阅读
-
使用C# CefSharp Python采集某网站简历并且自动发送邀请短信的方法
-
python获取交互式ssh shell的方法
-
Vue自定义指令上报Google Analytics事件统计的方法
-
在python3中pyqt5和mayavi不兼容问题的解决方法
-
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
-
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
-
在Python中操作字符串之startswith()方法的使用
-
Python中使用strip()方法删除字符串中空格的教程
-
在Python中处理字符串之isdecimal()方法的使用
-
python计算时间差的方法