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 相关文章推荐
Linux下通过python获取本机ip方法示例
Sep 06 Python
Centos7 下安装最新的python3.8
Oct 28 Python
Python Numpy中数据的常用保存与读取方法
Apr 01 Python
Python opencv相机标定实现原理及步骤详解
Apr 09 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
Apr 23 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
Apr 27 Python
Python使用eval函数执行动态标表达式过程详解
Oct 17 Python
pandas使用函数批量处理数据(map、apply、applymap)
Nov 27 Python
Python APScheduler执行使用方法详解
Dec 10 Python
用Python监控你的朋友都在浏览哪些网站?
May 27 Python
撤回我也能看到!教你用Python制作微信防撤回脚本
Jun 11 Python
python中Pyqt5使用Qlabel标签播放视频
Apr 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
PHP 网页过期时间的控制代码
2009/06/29 PHP
php创建多级目录的方法
2015/03/24 PHP
分享PHP-pcntl 实现多进程代码
2016/09/30 PHP
Laravel学习教程之路由模块
2017/08/18 PHP
php使用curl伪造浏览器访问操作示例
2019/09/30 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
Javascript !!的作用
2008/12/04 Javascript
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
js+csss实现的一个带复选框的下拉框
2014/09/29 Javascript
Nodejs极简入门教程(二):定时器
2014/10/25 NodeJs
jquery 插件实现多行文本框[textarea]自动高度
2015/03/04 Javascript
JavaScript中函数(Function)的apply与call理解
2015/07/08 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
2016/05/19 Javascript
Vue中img的src属性绑定与static文件夹实例
2017/05/18 Javascript
js定时器实现倒计时效果
2017/11/05 Javascript
微信小程序实现传参数的几种方法示例
2018/01/10 Javascript
基于js Canvas实现二次贝塞尔曲线
2018/12/25 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
BootstrapValidator验证用户名已存在(ajax)
2019/11/08 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS VG
2014/05/25 DOTA
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
初学python数组的处理代码
2011/01/04 Python
浅谈Python中函数的参数传递
2016/06/21 Python
用pandas中的DataFrame时选取行或列的方法
2018/07/11 Python
python简单实现最大似然估计&scipy库的使用详解
2020/04/15 Python
CSS3之transition实现下划线的示例代码
2018/05/30 HTML / CSS
英国标志性奢侈品牌:Burberry
2016/07/28 全球购物
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
英国美发和美容产品商城:HQhair
2019/02/08 全球购物
linux面试题参考答案(11)
2012/05/01 面试题
教育英语专业毕业生的求职信
2014/03/13 职场文书
校园标语大全
2014/06/19 职场文书
司法工作人员群众路线对照检查材料思想汇报
2014/09/30 职场文书
学校师德师风整改方案
2014/10/28 职场文书
redis 限制内存使用大小的实现
2021/05/08 Redis