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使用新浪微博api上传图片到微博示例
Jan 10 Python
Python的Flask框架中实现登录用户的个人资料和头像的教程
Apr 20 Python
python基于右递归解决八皇后问题的方法
May 25 Python
python常用函数详解
Sep 13 Python
mac PyCharm添加Python解释器及添加package路径的方法
Oct 29 Python
python程序控制NAO机器人行走
Apr 29 Python
Python序列化与反序列化pickle用法实例
Nov 11 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
Feb 14 Python
Python线程threading模块用法详解
Feb 26 Python
python神经网络编程实现手写数字识别
May 27 Python
python实现逻辑回归的示例
Oct 09 Python
python之np.argmax()及对axis=0或者1的理解
Jun 02 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仿ZOL分页类代码
2008/10/02 PHP
php ci框架验证码实例分析
2013/06/26 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
2014/05/10 PHP
yii2分页之实现跳转到具体某页的实例代码
2016/06/02 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
2018/04/21 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
javascript判断非数字的简单例子
2013/07/18 Javascript
iframe实用操作锦集
2014/04/22 Javascript
jquery实现鼠标滑过小图时显示大图的方法
2015/01/14 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
2016/01/23 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
使用jQuery如何写一个含验证码的登录界面
2019/05/13 jQuery
Vue快速实现通用表单验证的示例代码
2020/01/09 Javascript
python中执行shell命令的几个方法小结
2014/09/18 Python
windows下python之mysqldb模块安装方法
2017/09/07 Python
Python 加密的实例详解
2017/10/09 Python
python数字图像处理之高级形态学处理
2018/04/27 Python
目前最全的python的就业方向
2018/06/05 Python
Python关于excel和shp的使用在matplotlib
2019/01/03 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
2019/06/08 Python
python实现超市商品销售管理系统
2019/10/25 Python
什么是Python中的顺序表
2020/06/02 Python
如何在python中判断变量的类型
2020/07/29 Python
Python读取图像并显示灰度图的实现
2020/12/01 Python
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
女性时尚网购:Chic Me
2019/07/30 全球购物
英国购买威士忌网站:Master of Malt
2019/09/26 全球购物
初中生旷课检讨书范文
2014/10/06 职场文书
2014年预算员工作总结
2014/12/05 职场文书
护士个人年终总结
2015/02/13 职场文书
JS中一些高效的魔法运算符总结
2021/05/06 Javascript
PyTorch的Debug指南
2021/05/07 Python
MySQL into_Mysql中replace与replace into用法案例详解
2021/09/14 MySQL
mysql 索引的数据结构为什么要采用B+树
2022/04/26 MySQL