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编写提取日志中的中文的脚本的方法
Apr 30 Python
聊聊Python中的pypy
Jan 12 Python
tensorflow实现softma识别MNIST
Mar 12 Python
解决Python plt.savefig 保存图片时一片空白的问题
Jan 10 Python
Python定时任务工具之APScheduler使用方式
Jul 24 Python
python实现读取excel文件中所有sheet操作示例
Aug 09 Python
Python中如何将一个类方法变为多个方法
Dec 30 Python
解决Python import docx出错DLL load failed的问题
Feb 13 Python
Python pandas对excel的操作实现示例
Jul 21 Python
Django分页器的用法你都了解吗
May 26 Python
python scrapy简单模拟登录的代码分析
Jul 21 Python
Python&Matlab实现灰狼优化算法的示例代码
Mar 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
PHP匿名函数和use子句用法实例
2016/03/16 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
2016/12/15 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
javascript 获取url参数和script标签中获取url参数函数代码
2010/01/22 Javascript
用函数模板,写一个简单高效的 JSON 查询器的方法介绍
2013/04/17 Javascript
JS中实现replaceAll的方法(实例代码)
2013/11/12 Javascript
js导出txt示例代码
2014/01/14 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
Validform+layer实现漂亮的表单验证特效
2016/01/17 Javascript
总结JavaScript设计模式编程中的享元模式使用
2016/05/21 Javascript
springmvc接收jquery提交的数组数据代码分享
2017/10/28 jQuery
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
2019/01/18 jQuery
命令行批量截图Node脚本示例代码
2019/01/25 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
python调用cmd命令行制作刷博器
2014/01/13 Python
pycharm 使用心得(六)进行简单的数据库管理
2014/06/06 Python
python中split方法用法分析
2015/04/17 Python
python3操作mysql数据库的方法
2017/06/23 Python
Python 多核并行计算的示例代码
2017/11/07 Python
Python自动化测试笔试面试题精选
2020/03/12 Python
CSS3悬停效果案例应用
2012/11/21 HTML / CSS
浅析canvas元素的html尺寸和css尺寸对元素视觉的影响
2019/07/22 HTML / CSS
canvas 基础之图像处理的使用
2020/04/10 HTML / CSS
高中自我评价分享
2013/12/05 职场文书
元旦促销方案
2014/03/15 职场文书
服装设计专业求职信
2014/06/16 职场文书
群众路线个人对照检查材料2014
2014/09/26 职场文书
医学专业大学生职业生涯规划书
2014/10/25 职场文书
五四青年节活动总结
2015/02/10 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
辛亥革命观后感
2015/06/02 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书