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 初始化多维数组代码
Sep 06 Python
使用Python的内建模块collections的教程
Apr 28 Python
Python字符串详细介绍
May 09 Python
在Python中操作时间之strptime()方法的使用
Dec 30 Python
python利用有道翻译实现"语言翻译器"的功能实例
Nov 14 Python
Python实现动态图解析、合成与倒放
Jan 18 Python
Python 类的魔法属性用法实例分析
Nov 21 Python
Python通过正则库爬取淘宝商品信息代码实例
Mar 02 Python
Python如何根据时间序列数据作图
May 12 Python
Python通过zookeeper实现分布式服务代码解析
Jul 22 Python
Python就将所有的英文单词首字母变成大写
Feb 12 Python
matplotlib之pyplot模块之标题(title()和suptitle())
Feb 22 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
三国漫画《火凤燎原》宣布动画化PV放出 预计2020年播出
2020/03/08 国漫
提升PHP执行速度全攻略(上)
2006/10/09 PHP
php 文本文件的读取效率
2012/02/10 PHP
php学习之function的用法
2012/07/14 PHP
php中文乱码问题的终极解决方案汇总
2017/08/01 PHP
laravel多条件查询方法(and,or嵌套查询)
2019/10/09 PHP
PHP如何使用JWT做Api接口身份认证的实现
2020/02/03 PHP
javascript编程起步(第五课)
2007/01/10 Javascript
jquery 1.4.2发布!主要是性能与API
2010/02/25 Javascript
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
解析JavaScript中的标签语句
2013/06/19 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
对 jQuery 中 data 方法的误解分析
2014/06/18 Javascript
创建你的第一个AngularJS应用的方法
2015/06/16 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
20分钟轻松创建自己的Bootstrap站点
2016/05/12 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
2016/05/28 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
2015/12/25 Python
Python3操作SQL Server数据库(实例讲解)
2017/10/21 Python
Python实现读取txt文件并画三维图简单代码示例
2017/12/09 Python
Python logging管理不同级别log打印和存储实例
2018/01/19 Python
python编写简易聊天室实现局域网内聊天功能
2018/07/28 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
2019/06/04 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
智能旅行箱:Horizn Studios
2018/04/30 全球购物
C# Debug和Testing相关面试题
2015/10/25 面试题
自动化系在校本科生求职信
2013/10/23 职场文书
创新社会管理心得体会
2014/09/12 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
2016清明节森林防火广播稿
2015/12/17 职场文书
如何撰写创业策划书
2019/06/27 职场文书
什么是执行力?9个故事告诉您:成功绝非偶然!
2019/07/05 职场文书
IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
2021/09/25 Java/Android