教你用Python监控进程的CPU使用率
背景
在平时的工作中,经常会有某些进程突然CPU飙升,导致系统卡顿。那如何才能监控某个进程的CPU利用率呢?我们今天就一起用Python来实现下。
环境准备
依赖库
psutil是Python的一个很流行的库,用来获取系统资源信息的。它支持windows和linux,可以获取CPU,内存,网络,硬盘等信息。
安装
pip install psutil
代码准备
# 导入依赖库
import psutil,time
import re,string# 打印系统全部进程的PID列表
print(psutil.pids())# 根据进程名获取进程PID
def get_pid(name):process_list = list(psutil.process_iter())print(process_list)regex = "pid=(\d+),\sname=\'" + name + "\'"print(regex)pid = 0for line in process_list:process_info = str(line)ini_regex = re.compile(regex)result = ini_regex.search(process_info)if result != None:pid = result.group(1)print(pid)print(result.group())return int(pid)# 根据进程PID获取进程对象
def get_process_obj_by_id(pid):try:p = psutil.Process(pid)except Exception as e:print(e)return p# 获取Taskmgr的PID
pid = get_pid('Taskmgr.exe')# 根据Taskmgr的PID获取Taskmgr进程对象
process_obj=get_process_obj_by_id(pid)
num=0
while True:num+=1# 获取Taskmgr的CPU实时利用率,interval为间隔时间per = process_obj.cpu_percent(interval=1)print(num ,per)
执行效果
以上就是今天的全部内容了,感谢您的阅读,我们下节再会。
教你用Python监控进程的CPU使用率相关推荐
- zabbix自动发现与监控内存和CPU使用率最高的进程
监控需求 某项目的应用服务器CPU和内存使用率的监控,通过zabbix系统监控记录应用服务器上进程的CPU和内存的使用情况,并以图表的形式实时展现,以便于我们分析服务器的性能瓶颈. 监控方式 利用za ...
- android cpu负载 工具,计算Android中进程的CPU使用率
我正在尝试按以下方式计算Android中进程的CPU使用率,但是由于产生的输出,我不确定它是否正确. 要将吉菲转换为秒:吉菲/赫兹 第一步: 使用/proc/uptime文件的第一个参数获取正常运行时 ...
- C++ 获取特定进程的CPU使用率转
C++ 获取特定进程的CPU使用率 近来发现笔记本在关闭屏幕后风扇转得特别快,打开屏幕后看任务管理器,风扇马上减速,也没有发现大量占用CPU的进程.于是想写一个小程序在后台记录每个进程的CPU使用情况 ...
- C++ 获取特定进程的CPU使用率
近来发现笔记本在关闭屏幕后风扇转得特别快,打开屏幕后看任务管理器,风扇马上减速,也没有发现大量占用CPU的进程.于是想写一个小程序在后台记录每个进程的CPU使用情况,揪出锁屏后占用CPU的进程.于是自 ...
- 【Linux】限制进程的CPU使用率
目录 限制进程CPU使用率 限制进程资源的工具 限制进程CPU使用率 工具 cpulimit 安装 1. cpulimit安装 1.1 Ubuntu/Debian: # apt-get instal ...
- VC获取进程的cpu使用率、内存、线程数、句柄数等信息
//ProcessInfoCollect.h //进程信息采集#pragma once//枚举进程 typedef BOOL(_stdcall *ENUMPROCESS)(DWORD *pProces ...
- java 监控linux服务器cpu使用率、内存使用率、磁盘使用率、java进程是否存活等服务
java 监控linux服务器cpu.内存.java进程是否存活,发现异常发送邮件提醒 前一段时间在维护一个N年前的项目,这个项目有十几个服务器,每个服务器上有十几个服务.接手后的几个星期天天有事,要 ...
- c# 获取所有的进程的cpu使用率_Linux CPU使用率很高,但为啥却找不到高CPU的进程
案例分析 你的准备 今天依旧探究系统CPU使⽤率⾼的情况,所以这次实验的准备⼯作,与上节课的准备⼯作基本相同,差别在于案例所⽤的Docker 镜像不同. 本次还是基于 Ubuntu 18.04,同样适 ...
- C#获取进程的CPU使用率
参考文章:http://www.cnblogs.com/gjhjoy/p/3551549.html 一.根据Process类方法进行计算 CPU使用比例 = 在间隔时间内进程的CPU使用时间 除以 计 ...
最新文章
- php-5.3.3安装注意问题
- 互联网时代大数据的核心价值
- Django系列之启动入口源码分析
- 线性代数:第二章 矩阵及其运算:逆矩阵、分块矩阵
- Linux下mysql备份
- 笔记-信息系统开发基础-软件工程-评审与审计
- boost::callable_traits添加member左值引用
- lr分析器的设计与实现实验报告_《计算机导论》课程实验报告(一维数组)
- 微服务java模块内存管理_Java 9模块服务
- 设计模式笔记四:建造者模式
- RookeyFrame 隐藏 首次加载菜单 的伸缩动画
- 86. php 绘图体系(2)
- 将您重定向的次数过多。_吃鸡:蹦蹦将迎来新皮肤?体验服全面加强,最高时速也不打滑...
- mc穿越时空地图android,《我的世界1.8X》穿越时空地图存档
- Java后台开发入门
- 智鼎测评--行测相关
- erf函数处以一个常数_Google对Linux专利处以500万美元的罚款
- 程序员要实现财富自由,“出海”这条路该怎么走?
- 同步AOKP源码的方法
- 时间戳转换格林威治时间