python统计cpu利用率的方法


Posted in Python onJune 02, 2015

本文实例讲述了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 相关文章推荐
深入解析Python的Tornado框架中内置的模板引擎
Jul 11 Python
Python中用post、get方式提交数据的方法示例
Sep 22 Python
python 用正则表达式筛选文本信息的实例
Jun 05 Python
Django objects的查询结果转化为json的三种方式的方法
Nov 07 Python
Python实现去除图片中指定颜色的像素功能示例
Apr 13 Python
详解Python传入参数的几种方法
May 16 Python
Django文件存储 自己定制存储系统解析
Aug 02 Python
Django实现WebSSH操作物理机或虚拟机的方法
Nov 06 Python
python在不同条件下的输入与输出
Feb 13 Python
python图片指定区域替换img.paste函数的使用
Apr 09 Python
python通过cython加密代码
Dec 11 Python
python爬虫利用代理池更换IP的方法步骤
Feb 21 Python
Python2.x中文乱码问题解决方法
Jun 02 #Python
python实现的守护进程(Daemon)用法实例
Jun 02 #Python
Python中使用ElementTree解析XML示例
Jun 02 #Python
Python文档生成工具pydoc使用介绍
Jun 02 #Python
自己使用总结Python程序代码片段
Jun 02 #Python
python执行子进程实现进程间通信的方法
Jun 02 #Python
Python多进程并发(multiprocessing)用法实例详解
Jun 02 #Python
You might like
discuz论坛 用户登录 后台程序代码
2008/11/27 PHP
PHP新手入门学习方法
2011/05/08 PHP
php处理静态页面:页面设置缓存时间实例
2017/06/22 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
js停止输出代码
2008/07/20 Javascript
Jquery AJAX 用于计算点击率(统计)
2010/06/30 Javascript
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
2013/04/02 Javascript
用js实现小球的自由移动代码
2013/04/22 Javascript
JS去除数组重复值的五种不同方法
2013/09/06 Javascript
js简单实现用户注册信息的校验代码
2013/11/15 Javascript
JS按字节截取字符长度实例
2013/11/20 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
vue-cli下的vuex的简单Demo图解(实现加1减1操作)
2018/02/26 Javascript
Vue 使用 Mint UI 实现左滑删除效果CellSwipe
2018/04/27 Javascript
小程序实现选择题选择效果
2018/11/04 Javascript
[40:29]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第一场
2018/04/10 DOTA
Python中optionParser模块的使用方法实例教程
2014/08/29 Python
Python入门篇之对象类型
2014/10/17 Python
Python创建字典的八种方式
2019/02/27 Python
python PIL/cv2/base64相互转换实例
2020/01/09 Python
用python介绍4种常用的单链表翻转的方法小结
2020/02/24 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
python中实现栈的三种方法
2020/12/19 Python
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
台湾屈臣氏网路商店:Watsons台湾
2020/12/29 全球购物
车间机修工岗位职责
2014/02/28 职场文书
教师读书活动总结
2014/05/07 职场文书
酒店节能降耗方案
2014/05/08 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
2015年六一儿童节演讲稿
2015/03/19 职场文书