python cpu count_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'\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程序设计有所帮助。

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值