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操作列表的常用方法分享
Feb 13 Python
python获取Linux下文件版本信息、公司名和产品名的方法
Oct 05 Python
Python中比较特别的除法运算和幂运算介绍
Apr 05 Python
python脚本生成caffe train_list.txt的方法
Apr 27 Python
Python根据文件名批量转移图片的方法
Oct 21 Python
Python占用的内存优化教程
Jul 28 Python
python多线程与多进程及其区别详解
Aug 08 Python
Python socket非阻塞模块应用示例
Sep 12 Python
Python中如何将一个类方法变为多个方法
Dec 30 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
Aug 07 Python
Pytest单元测试框架如何实现参数化
Sep 05 Python
Python pymysql模块安装并操作过程解析
Oct 13 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面象对象数据库操作类实例
2014/12/02 PHP
PHP+MYSQL中文乱码问题
2015/07/01 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
php生成word并下载代码实例
2019/03/15 PHP
PHP应用跨时区功能的实现方法
2019/03/21 PHP
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
js中escape对应的C#解码函数 UrlDecode
2012/12/16 Javascript
javascript处理表单示例(javascript提交表单)
2014/04/28 Javascript
jQuery 限制输入字符串长度
2016/06/20 Javascript
AJAX和jQuery动态加载数据的实现方法
2016/12/05 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
2016/12/26 Javascript
js鼠标移动时禁止选中文字
2017/02/19 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
解决vue里碰到 $refs 的问题的方法
2017/07/13 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
Vue.js 2.0和Cordova开发webApp环境搭建方法
2018/02/26 Javascript
在react-antd中弹出层form内容传递给父组件的操作
2020/10/24 Javascript
浅谈python函数之作用域(python3.5)
2017/10/27 Python
Python批处理删除和重命名文件夹的实例
2018/07/11 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
python中selenium操作下拉滚动条的几种方法汇总
2019/07/14 Python
python生成随机红包的实例写法
2019/09/02 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
IE矩阵Matrix滤镜旋转与缩放及如何结合transform
2012/11/29 HTML / CSS
世界上最大的高分辨率在线图片库:Alamy
2018/07/07 全球购物
匡威荷兰官方网站:Converse荷兰
2018/10/24 全球购物
澳大利亚家居用品零售商:Harris Scarfe
2020/10/10 全球购物
薇姿法国官网:Vichy法国
2021/01/28 全球购物
PHP面试题及答案二
2015/05/23 面试题
大学总结自我鉴定
2014/01/18 职场文书
赵氏孤儿观后感
2015/06/09 职场文书
成事在人观后感
2015/06/16 职场文书
python 模块重载的五种方法
2021/04/24 Python
如何制作自己的原生JavaScript路由
2021/05/05 Javascript
关于python中readlines函数的参数hint的相关知识总结
2021/06/24 Python