python统计cpu利用率的方法

作者:dingding 时间:2022-02-05 23:33:44 

本文实例讲述了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
0
投稿

猜你喜欢

  • ADSI+ASP添加IP到IIS禁止访问列表中

    2011-04-02 10:42:00
  • Python在for循环中更改list值的方法【推荐】

    2023-03-05 07:14:28
  • Pandas实现批量拆分与合并Excel的示例代码

    2022-06-07 22:36:28
  • SQL Server 2005中利用xml拆分字符串序列

    2009-01-06 11:30:00
  • pandas object格式转float64格式的方法

    2022-05-26 15:58:53
  • IE对CSS样式表的限制和解决方案

    2008-04-28 12:27:00
  • 如何用python批量调整视频声音

    2023-10-14 06:51:57
  • java与php的区别浅析

    2023-11-14 23:27:23
  • pytorch 带batch的tensor类型图像显示操作

    2023-06-02 08:47:26
  • python3.x实现base64加密和解密

    2023-12-17 00:30:33
  • 如何利用python读取图片属性信息

    2023-12-24 00:57:51
  • Python中super().__init__()测试以及理解

    2023-08-25 02:22:04
  • PyCharm设置每行最大长度限制的方法

    2021-05-08 15:52:22
  • Python利用tkinter实现一个简易番茄钟的示例代码

    2021-03-02 17:20:59
  • 基于Python获取docx/doc文件内容代码解析

    2022-09-20 09:25:23
  • PHP简单实现正则匹配省市区的方法

    2023-11-14 22:24:09
  • 详解Python类和对象内容

    2021-03-12 23:38:55
  • Python内置方法实现字符串的秘钥加解密(推荐)

    2023-10-22 23:45:35
  • Python构建简单线性回归模型

    2021-03-22 19:58:42
  • python的环境conda简介

    2022-12-24 18:40:30
  • asp之家 网络编程 m.aspxhome.com