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基于windows平台锁定键盘输入的方法
Mar 05 Python
Python中实现三目运算的方法
Jun 21 Python
Python算法应用实战之栈详解
Feb 04 Python
python对list中的每个元素进行某种操作的方法
Jun 29 Python
Python实现查询某个目录下修改时间最新的文件示例
Aug 29 Python
Laravel+Dingo/Api 自定义响应的实现
Feb 17 Python
Python Numpy 实现交换两行和两列的方法
Jun 26 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
Dec 11 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
Jan 03 Python
Python3 字典dictionary入门基础附实例
Feb 10 Python
python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例
Mar 09 Python
Python函数基本使用原理详解
Mar 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新手用的Insert和Update语句构造类
2012/03/31 PHP
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
Laravel框架实现超简单的分页效果示例
2019/02/08 PHP
20个非常棒的Jquery实用工具 国外文章
2010/01/01 Javascript
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
jsp+javascript打造级连菜单的实例代码
2013/06/14 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
jQuery实现的背景动态变化导航菜单效果
2015/08/24 Javascript
详解Html a标签中href和onclick用法、区别、优先级别
2017/01/16 Javascript
Linux CentOS系统下安装node.js与express的方法
2017/04/01 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
2018/01/05 Javascript
详解如何运行vue项目
2019/04/15 Javascript
js获取 gif 的帧数的代码实例
2019/09/10 Javascript
vue自动添加浏览器兼容前后缀操作
2020/08/13 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
Python判断变量是否为Json格式的字符串示例
2017/05/03 Python
Python中输入和输出(打印)数据实例方法
2019/10/13 Python
手动安装python3.6的操作过程详解
2020/01/13 Python
python元组拆包实现方法
2021/02/28 Python
HTML5 canvas绘制的玫瑰花效果
2014/05/29 HTML / CSS
HTML5到底会有什么发展?HTML5的前景展望
2015/07/07 HTML / CSS
HTML5 canvas基本绘图之绘制线条
2016/06/27 HTML / CSS
美国礼品卡交易网站:Cardpool
2018/08/27 全球购物
名人演讲稿范文
2013/12/28 职场文书
七年级历史教学反思
2014/02/05 职场文书
餐饮营销方案
2014/02/23 职场文书
土地转让协议书范本
2014/04/15 职场文书
厨师个人自我鉴定范文
2014/04/19 职场文书
幼儿园六一亲子活动方案
2014/08/26 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
田径运动会广播稿
2015/08/19 职场文书
八年级历史教学反思
2016/02/19 职场文书
Django实现在线无水印抖音视频下载(附源码及地址)
2021/05/06 Python
Python批量解压&压缩文件夹的示例代码
2022/04/04 Python
winserver2019安装软件一直卡在应用程序正在为首次使用做准备
2022/06/10 Servers