加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读