背景

在平时的工作中,经常会有某些进程突然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使用率相关推荐

  1. zabbix自动发现与监控内存和CPU使用率最高的进程

    监控需求 某项目的应用服务器CPU和内存使用率的监控,通过zabbix系统监控记录应用服务器上进程的CPU和内存的使用情况,并以图表的形式实时展现,以便于我们分析服务器的性能瓶颈. 监控方式 利用za ...

  2. android cpu负载 工具,计算Android中进程的CPU使用率

    我正在尝试按以下方式计算Android中进程的CPU使用率,但是由于产生的输出,我不确定它是否正确. 要将吉菲转换为秒:吉菲/赫兹 第一步: 使用/proc/uptime文件的第一个参数获取正常运行时 ...

  3. C++ 获取特定进程的CPU使用率转

    C++ 获取特定进程的CPU使用率 近来发现笔记本在关闭屏幕后风扇转得特别快,打开屏幕后看任务管理器,风扇马上减速,也没有发现大量占用CPU的进程.于是想写一个小程序在后台记录每个进程的CPU使用情况 ...

  4. C++ 获取特定进程的CPU使用率

    近来发现笔记本在关闭屏幕后风扇转得特别快,打开屏幕后看任务管理器,风扇马上减速,也没有发现大量占用CPU的进程.于是想写一个小程序在后台记录每个进程的CPU使用情况,揪出锁屏后占用CPU的进程.于是自 ...

  5. 【Linux】限制进程的CPU使用率

    目录 限制进程CPU使用率 限制进程资源的工具 限制进程CPU使用率 工具  cpulimit 安装 1. cpulimit安装 1.1 Ubuntu/Debian: # apt-get instal ...

  6. VC获取进程的cpu使用率、内存、线程数、句柄数等信息

    //ProcessInfoCollect.h //进程信息采集#pragma once//枚举进程 typedef BOOL(_stdcall *ENUMPROCESS)(DWORD *pProces ...

  7. java 监控linux服务器cpu使用率、内存使用率、磁盘使用率、java进程是否存活等服务

    java 监控linux服务器cpu.内存.java进程是否存活,发现异常发送邮件提醒 前一段时间在维护一个N年前的项目,这个项目有十几个服务器,每个服务器上有十几个服务.接手后的几个星期天天有事,要 ...

  8. c# 获取所有的进程的cpu使用率_Linux CPU使用率很高,但为啥却找不到高CPU的进程

    案例分析 你的准备 今天依旧探究系统CPU使⽤率⾼的情况,所以这次实验的准备⼯作,与上节课的准备⼯作基本相同,差别在于案例所⽤的Docker 镜像不同. 本次还是基于 Ubuntu 18.04,同样适 ...

  9. C#获取进程的CPU使用率

    参考文章:http://www.cnblogs.com/gjhjoy/p/3551549.html 一.根据Process类方法进行计算 CPU使用比例 = 在间隔时间内进程的CPU使用时间 除以 计 ...

最新文章

  1. php-5.3.3安装注意问题
  2. 互联网时代大数据的核心价值
  3. Django系列之启动入口源码分析
  4. 线性代数:第二章 矩阵及其运算:逆矩阵、分块矩阵
  5. Linux下mysql备份
  6. 笔记-信息系统开发基础-软件工程-评审与审计
  7. boost::callable_traits添加member左值引用
  8. lr分析器的设计与实现实验报告_《计算机导论》课程实验报告(一维数组)
  9. 微服务java模块内存管理_Java 9模块服务
  10. 设计模式笔记四:建造者模式
  11. RookeyFrame 隐藏 首次加载菜单 的伸缩动画
  12. 86. php 绘图体系(2)
  13. 将您重定向的次数过多。_吃鸡:蹦蹦将迎来新皮肤?体验服全面加强,最高时速也不打滑...
  14. mc穿越时空地图android,《我的世界1.8X》穿越时空地图存档
  15. Java后台开发入门
  16. 智鼎测评--行测相关
  17. erf函数处以一个常数_Google对Linux专利处以500万美元的罚款
  18. 程序员要实现财富自由,“出海”这条路该怎么走?
  19. 同步AOKP源码的方法
  20. 时间戳转换格林威治时间

热门文章

  1. yum命令与yum仓库
  2. Linux中的二进制可执行文件和脚本可执行文件及Shebang
  3. μC/OS之OSTaskCreate()
  4. Docker学习笔记(狂神说)
  5. java面试题——编程题:彩色瓷砖
  6. 物联网开源项目:机智云智能婴儿摇篮,可跟踪、能防丢
  7. POJ-2226 Muddy Fields---二分图匹配+巧妙构图
  8. ML模型部署-工具箱
  9. 材料科学计算机科学,计算机在材料科学中的应用---完整版.doc
  10. 2022-1-7数据库 事务