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的几种开发工具介绍
Mar 07 Python
Python 获取新浪微博的最新公共微博实例分享
Jul 03 Python
Python中字符串对齐方法介绍
May 21 Python
一个月入门Python爬虫学习,轻松爬取大规模数据
Jan 03 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
Jun 04 Python
使用python语言,比较两个字符串是否相同的实例
Jun 29 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
Oct 14 Python
解决python中无法自动补全代码的问题
Dec 04 Python
python 二维数组90度旋转的方法
Jan 28 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
Feb 24 Python
Python collections.deque双边队列原理详解
Oct 05 Python
Pycharm制作搞怪弹窗的实现代码
Feb 19 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生成略缩图代码
2012/07/16 PHP
基于php socket(fsockopen)的应用实例分析
2013/06/02 PHP
ThinkPHP模板IF标签用法详解
2014/07/01 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
Javascript入门学习资料收集整理篇
2008/07/06 Javascript
Js 获取HTML DOM节点元素的方法小结
2009/04/24 Javascript
JavaScript 动态创建VML的方法
2009/10/14 Javascript
javascript中的作用域scope介绍
2010/12/28 Javascript
原始的js代码和jquery对比体会
2013/09/10 Javascript
JavaScript中的Function函数
2015/08/27 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
JS模拟的Map类实现方法
2016/06/17 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
2017/05/18 Javascript
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
Node.js Buffer用法解读
2018/05/18 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
2018/08/10 Javascript
vue生命周期实例小结
2018/08/15 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
[09:37]2018DOTA2国际邀请赛寻真——不懈追梦的Team Serenity
2018/08/13 DOTA
python+PyQT实现系统桌面时钟
2020/06/16 Python
彻底理解Python中的yield关键字
2019/04/01 Python
CentOS7安装Python3的教程详解
2019/04/10 Python
html5的input的required使用中遇到的问题及解决方法
2018/04/24 HTML / CSS
英国奢侈品概念店:Base Blu
2019/05/16 全球购物
罗技美国官网:Logitech美国
2020/01/22 全球购物
安全生产先进个人材料
2014/02/06 职场文书
铁路工务反思材料
2014/02/07 职场文书
高级编程求职信模板
2014/02/16 职场文书
军校大学生个人的自我评价
2014/02/17 职场文书
2015年导购员工作总结
2015/04/25 职场文书
2015年班主任德育工作总结
2015/05/21 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
HTML+CSS+JS实现图片的瀑布流布局的示例代码
2021/04/22 HTML / CSS
Go语言特点及基本数据类型使用详解
2022/03/21 Golang
vue cli4中mockjs在dev环境和build环境的配置详情
2022/04/06 Vue.js