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 相关文章推荐
pycharm 使用心得(八)如何调用另一文件中的函数
Jun 06 Python
零基础写python爬虫之抓取百度贴吧代码分享
Nov 06 Python
Python fileinput模块使用介绍
Nov 30 Python
Python内置函数之filter map reduce介绍
Nov 30 Python
Python中的变量和作用域详解
Jul 13 Python
python对DICOM图像的读取方法详解
Jul 17 Python
python 快速把超大txt文件转存为csv的实例
Oct 26 Python
浅谈python 导入模块和解决文件句柄找不到问题
Dec 15 Python
Python Matplotlib 基于networkx画关系网络图
Jul 10 Python
详解Python 4.0 预计推出的新功能
Jul 26 Python
python中的垃圾回收(GC)机制
Sep 21 Python
python通过cython加密代码
Dec 11 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下正则来匹配dede模板标签的代码
2010/08/21 PHP
PHP人民币金额数字转中文大写的函数代码
2013/02/27 PHP
php将mysql数据库整库导出生成sql文件的具体实现
2014/01/08 PHP
PHP文件上传判断file是否己选择上传文件的方法
2014/11/10 PHP
PHP实现合并discuz用户
2015/08/05 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
2017/05/26 PHP
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
用js查找法实现当前栏目的高亮显示的代码
2007/11/24 Javascript
用于判断用户注册时,密码强度的JS代码
2009/01/01 Javascript
javascript学习(二)javascript常见问题总结
2013/01/02 Javascript
jQuery插件开发详细教程
2014/06/06 Javascript
Jquery跨浏览器文本复制插件Zero Clipboard的使用方法
2016/02/28 Javascript
使用jQuery.Pin垂直滚动时固定导航
2017/05/24 jQuery
[46:55]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python基础教程之数字处理(math)模块详解
2014/03/25 Python
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
使用Python将数组的元素导出到变量中(unpacking)
2016/10/27 Python
Python动刷新抢12306火车票的代码(附源码)
2018/01/24 Python
基于python OpenCV实现动态人脸检测
2018/05/25 Python
python实现requests发送/上传多个文件的示例
2018/06/04 Python
python读取和保存图片5种方法对比
2018/09/12 Python
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
Python实用工具FuckIt.py介绍
2019/07/02 Python
Python实现不规则图形填充的思路
2020/02/02 Python
html5使用canvas压缩图片的示例代码
2018/09/11 HTML / CSS
trivago美国:全球最大的酒店价格比较网站
2018/01/18 全球购物
施工资料员岗位职责
2014/01/06 职场文书
家长学校实施方案
2014/03/15 职场文书
退学证明范本3篇
2014/10/29 职场文书
2014年数学教师工作总结
2014/12/03 职场文书
公司会议开幕词
2015/01/29 职场文书
2015年学生会工作总结范文
2015/03/31 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
工作总结之小学教师体育工作范文(3篇)
2019/10/07 职场文书
python中os.path.join()函数实例用法
2021/05/26 Python
详解Go语言Slice作为函数参数的使用
2021/07/02 Golang