python统计cpu利用率的方法
作者:dingding 发布时间:2022-02-05 23:33:44
标签:python,cpu
本文实例讲述了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程序设计有所帮助。


猜你喜欢
- 一般情况下,运行tensorflow时,默认会占用可以看见的所有GPU,那么就会导致其它用户或程序无GPU可用,那么就需要限制程序对GPU的
- 一、创建测试项目1、新建GitHub仓库在GitHub上面新创建一个仓库,用来演示分支管理,如下图所示:点击“Creat
- 前言由于两个表同一字段类型不一样,甚至是编码类型不一样也会导致查询不走索引,速度会很慢。强转直接举例说明:A 表id是int 类型 &nbs
- torch.save:保存序列化的对象到磁盘,使用了Python的pickle进行序列化,模型、张量、所有对象的字典。torch.load:
- ASP具备动态输出任一Office应用程序文件格式的功能。在开始编写代码之前,我们首先需要做的就是设置正确的文件类型,因为浏览器需要知道如何
- 什么是浮动?浮动是 css 的定位属性。我们可以看一下印刷设计来了解它的起源和作用。印刷布局中,文本可以按照需要围绕图片。一般把这种方式称为
- 版本 0.9来自 http://onewww.net说明:当焦点不在表格内的input时,回车键复制最后一行,delete删除键最后一行选择
- 最近买了个腾讯云服务器,搭建环境。该笔记用于系统上未装过mysql的干净系统第一次安装mysql。自己指定安装目录,指定数据文件目录。lin
- DataFrame对象本质上是带有行列索引的二维矩阵,所以欲对DataFrame对象进行转置操作,需要交换行列索引,同时使二维矩阵转置。首先
- 1. 引言在Python相关代码中,我们经常会遇到如下代码段:# stuffif __name__ == "__main__&qu
- perl - Practical Extraction and Report Language,Perl有很多命令行参数,通过它可以让你的程
- 手写数字识别(小白入门)今早刚刚上了节实验课,关于逻辑回归,所以手有点刺挠就想发个博客,作为刚刚入门的小白,看到代码运行成功就有点小激动,这
- PHP重启php-fpm的方法启动php-fpm:/usr/local/php/sbin/php-fpmphp 5.3.3 以后的php-f
- 一、源码分析Django 发布的 1.4 版本中包含了一些安全方面的重要提升。其中一个是使用 PBKDF2 密码加密算法代替了 SHA1 。
- 程序测试是展现BUG存在的有效方式,但令人绝望的是它不足以展现其缺位。——艾兹格·迪杰斯特拉(Edsger W. Dijkstra)算法审查
- 1. xlsx to csv:import pandas as pddef xlsx_to_csv_pd(): data_xls = pd.
- 笔者最近在学习用OpenCV做人脸识别,用的是python语言,Anaconda里面自带的Spyder编辑器,但是按照人脸识别的教程安装好O
- 如下表:先使用str_to_date函数,将其varchar类型转为日期类型,然后从小到大排序语法:select str_to_date(c
- 在最新版的pandas中(不知道之前的版本有没有这个问题),当我们对具有多层次索引的对象做切片或者通过df[bool_list]的方式索引的
- 1.获取所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name 2.获取所有