位置: IT常识 - 正文
推荐整理分享用Python来统计本机CPU利用率(python进行统计分析),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:python进行统计分析,如何用python统计,怎么用python统计数据,python进行统计分析,用python统计数据,python统计各类型的数量,用python统计数据,如何用python统计,内容如对您有帮助,希望把文章链接给更多的朋友!
模块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返回与指定索引对应的性能对象名称。
#-*-coding=utf-8-*-importwin32pdhimporttime#CounterpathsPROCESSOR_PERCENT=r'\Processor(_Total)\%ProcessorTime'MEMORY_PERCENT=r'\Memory\%CommittedBytesInUse'MEMORY_COMMITTED=r'\Memory\CommittedBytes'PROCESS_BYTES=lambdax:r'\Process(%s)\PrivateBytes'%xclassQuery:def__init__(self):self.counters={}self.query=Noneself.query=win32pdh.OpenQuery(None,0)defadd_counter(self,path):ifwin32pdh.ValidatePath(path)!=0:raiseException('Invalidpath:%s'%path)counter=win32pdh.AddCounter(self.query,path,0)self.counters[path]=counterdefremove_counter(self,path):win32pdh.RemoveCounter(self.counters[path])delself.counters[path]defget_values(self):values={}win32pdh.CollectQueryData(self.query)forpathinself.counters:status,value=win32pdh.GetFormattedCounterValue(self.counters[path],win32pdh.PDH_FMT_LONG)values[path]=valuereturnvaluessysinfo_query=Query()sysinfo_query.add_counter(PROCESSOR_PERCENT)sysinfo_query.add_counter(MEMORY_PERCENT)sysinfo_query.get_values()defget_sysinfo():"""Returnatuple(mem_usage,cpu_usage)."""info=sysinfo_query.get_values()returninfo[MEMORY_PERCENT],info[PROCESSOR_PERCENT]listcpu=[]whileTrue:time.sleep(2)x,y=get_sysinfo()listcpu.append(y)iflen(listcpu)==10:icount=0forcinlistcpu:ifc>4:icount+=1ificount>5:print"在统计的1分钟内,cpu已经有5次大于4%"listcpu=[]printy下一篇:2022年最新BellooV4.3.2(贝罗交友约会)php破解源码-完整的高级约会源码-电脑学习网(2022年最新公务接待用餐标准)
友情链接: 武汉网站建设