模块win32pdh是python中的一个模块,封装了Windows Performance Data Helpers API。
专注于为中小企业提供网站制作、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业黑河免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了数千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
win32pdh方法
AddCounter 添加一个新计数器
AddEnglishCounter 通过英文名称为查询添加计数器
RemoveCounter 删除一个打开的计数器。
EnumObjectItems 枚举对象的项目
EnumObjects 枚举对象
OPENQUERY 打开一个新查询
CloseQuery 关闭打开的查询。
MakeCounterPath 制作完全解决的计数器路径
GetCounterInfo 检索有关计数器的信息,例如数据大小,计数器类型,路径和用户提供的数据值。
GetFormattedCounterValue 检索格式化的计数器值
CollectQueryData 收集指定查询中所有计数器的当前原始数据值,并更新每个计数器的状态代码。
ValidatePath 验证指定的计数器是否存在于计数器路径中指定的计算机上。
ExpandCounterPath 检查指定的计算机(如果没有指定本地计算机),则检查与计数器路径中的通配符字符串匹配的计数器和计数器实例。
ParseCounterPath 解析计数器路径的元素。
ParseInstanceName 解析实例名称的元素
SetCounterScaleFactor 设置在请求格式化计数器值时应用于指定计数器的计算值的比例因子。
BrowseCounters 显示计数器浏览对话框,以便用户可以选择要返回给调用者的计数器。
ConnectMachine 连接到指定的计算机,并在PDH DLL中创建和初始化计算机条目。
LookupPerfIndexByName 返回与指定计数器名称对应的计数器索引。
LookupPerfNameByIndex 返回与指定索引对应的性能对象名称。
完整代码: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教程:用Python来统计本机CPU利用率
文章源于:http://www.shufengxianlan.com/qtweb/news18/4668.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联