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函数式编程指南(二):从函数开始
Jun 24 Python
Python实现分割文件及合并文件的方法
Jul 10 Python
教你用Python脚本快速为iOS10生成图标和截屏
Sep 22 Python
在Windows中设置Python环境变量的实例讲解
Apr 28 Python
python os用法总结
Jun 08 Python
完美解决安装完tensorflow后pip无法使用的问题
Jun 11 Python
使用Python控制摄像头拍照并发邮件
Apr 23 Python
python与C、C++混编的四种方式(小结)
Jul 15 Python
Python算法的时间复杂度和空间复杂度(实例解析)
Nov 19 Python
python PIL/cv2/base64相互转换实例
Jan 09 Python
python实现字符串和数字拼接
Mar 02 Python
python实现批量转换图片为黑白
Jun 16 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的autoload自动加载机制使用说明
2010/12/28 PHP
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
2011/07/01 PHP
php自定义urlencode,urldecode函数实例
2015/03/24 PHP
PHP利用imagick生成组合缩略图
2016/02/19 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
2016/05/22 PHP
laravel5.6框架操作数据curd写法(查询构建器)实例分析
2020/01/26 PHP
Yii 框架使用数据库(databases)的方法示例
2020/05/19 PHP
Javascript 学习笔记 错误处理
2009/07/30 Javascript
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
jquery中EasyUI使用技巧小结
2015/02/10 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
2015/06/26 Javascript
基于Javascript实现倒计时功能
2016/02/22 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
图解Javascript——作用域、作用域链、闭包
2017/03/21 Javascript
Vue.Draggable实现拖拽效果
2020/07/29 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
vue添加class样式实例讲解
2019/02/12 Javascript
[01:01]青春无憾,一战成名——DOTA2全国高校联赛开启
2018/02/25 DOTA
Python多线程实例教程
2014/09/06 Python
Python简单计算文件夹大小的方法
2015/07/14 Python
Python的Django框架下管理站点的基本方法
2015/07/17 Python
Tensorflow环境搭建的方法步骤
2018/02/07 Python
jupyter notebook oepncv 显示一张图像的实现
2020/04/24 Python
Pyecharts地图显示不完成问题解决方案
2020/05/11 Python
HTML5 新事件 小结
2009/07/16 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
应届生污水处理求职信
2013/11/06 职场文书
创业计划书如何吸引他人眼球
2014/01/10 职场文书
幼儿园家长评语
2014/02/10 职场文书
《列夫托尔斯泰》教学反思
2014/02/10 职场文书
收入及婚姻状况证明
2014/11/20 职场文书
社区三八妇女节活动总结
2015/02/06 职场文书
物业工程部经理岗位职责
2015/04/09 职场文书
写给老师的保证书
2015/05/09 职场文书
复兴之路观后感3000字
2015/06/02 职场文书
【海涛dota解说】一房久违的影魔魂守二连发
2022/04/01 DOTA