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正常时间和unix时间戳相互转换的方法
Apr 23 Python
浅谈Pandas中map, applymap and apply的区别
Apr 10 Python
python实现比较文件内容异同
Jun 22 Python
python创建文件备份的脚本
Sep 11 Python
python 2.7.13 安装配置方法图文教程
Sep 18 Python
用python实现刷点击率的示例代码
Feb 21 Python
Python内置数据类型list各方法的性能测试过程解析
Jan 07 Python
pytorch的batch normalize使用详解
Jan 15 Python
Pandas时间序列基础详解(转换,索引,切片)
Feb 26 Python
Django如何使用jwt获取用户信息
Apr 21 Python
python如何正确使用yield
May 21 Python
Python基础之函数嵌套知识总结
May 23 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设计模式 php实现抽象工厂模式
2015/12/07 PHP
django中的ajax组件教程详解
2018/10/18 PHP
PHP Include文件实例讲解
2019/02/15 PHP
PHP-FPM 的管理和配置详解
2019/02/17 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
stream.js 一个很小、完全独立的Javascript类库
2011/10/28 Javascript
图片无缝滚动代码(向左/向下/向上)
2013/04/10 Javascript
Node.js中require的工作原理浅析
2014/06/24 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
JavaScript各类型的关系图解
2015/10/16 Javascript
Javascript中prototype的使用详解
2016/06/18 Javascript
Ajax使用原生态JS验证用户名是否存在
2020/05/26 Javascript
JS实现的几个常用算法
2016/11/12 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
Layer弹出层动态获取数据的方法
2018/08/20 Javascript
微信小程序自定义select下拉选项框组件的实现代码
2018/08/28 Javascript
vue-cli3使用 DllPlugin 实现预编译提升构建速度
2019/04/24 Javascript
JavaScript实现简单的计算器
2020/01/16 Javascript
用javascript实现倒计时效果
2021/02/09 Javascript
python3用PIL把图片转换为RGB图片的实例
2019/07/04 Python
Python序列化与反序列化pickle用法实例
2019/11/11 Python
Python MySQLdb 执行sql语句时的参数传递方式
2020/03/04 Python
Python装饰器的应用场景代码总结
2020/04/10 Python
NUK奶瓶美国官网:NUK美国
2016/09/26 全球购物
中国最大的潮流商品购物网站:YOHO!BUY有货
2017/01/07 全球购物
美国韩国化妆品和护肤品购物网站:Beautytap
2018/07/29 全球购物
希腊品牌鞋类销售网站:epapoutsia.gr
2020/03/18 全球购物
英语专业应届生求职信范文
2013/11/15 职场文书
大型活动策划方案
2014/01/12 职场文书
如何撰写岗位职责
2014/02/01 职场文书
人事经理岗位职责
2014/04/28 职场文书
趣味运动会赞词
2015/07/22 职场文书
2016党员干部政治学习心得体会
2016/01/23 职场文书
Go标准容器之Ring的使用说明
2021/05/05 Golang
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS
Mybatis-Plus 使用 @TableField 自动填充日期
2022/04/26 Java/Android