当前位置: 首页 > news >正文

python监控软件内存、cpu和GDI

目录

  • 前言
  • 代码

前言

最近做软件测试需要监控软件内存、cpu和GDI对象数,用psutil库可以很方便的实现监控内存和CPU,但是GDI好像还不行,最后来的win32api来调用的Windows API接口来实现GDI监控的,在此做个记录。

代码

import psutil
import os
import pandas as pd
import time
import win32gui
import win32process
import win32con
import win32api# 定义需要监控的进程名称
process_name = "xxx.exe"# 定义记录数据的文件名
data_file = "monitor_data.xlsx"# 获取进程信息并记录到Excel文件中
def monitor_process(process_name, data_file ):process_id = get_process_id(process_name)if process_id is None:print("未找到进程")returnprocess = psutil.Process(process_id)cpu_percent = process.cpu_percent(interval=None)mem_info = process.memory_info()commit_size = mem_info.vms / 1024 / 1024  # 转换为MB# GDIPy_process = win32api.OpenProcess(win32con.PROCESS_ALL_ACCESS, False, process_id)gdi_objects = win32process.GetGuiResources(Py_process, win32con.GR_GDIOBJECTS)data = {"Time": [datetime.now().strftime("%Y-%m-%d %H:%M:%S")], "CPU": [cpu_percent],"Memory": [mem_info.rss / 1024 / 1024], "Commit Size": [commit_size], "GDI Objects": [gdi_objects]}df = pd.DataFrame(data)if os.path.exists(data_file):df_old = pd.read_excel(data_file, engine='openpyxl', index_col=0)df_new = pd.concat([df_old, df])df_new.to_excel(data_file)else:df.to_excel(data_file)
http://www.lryc.cn/news/179932.html

相关文章:

  • wordpress搭建自己的博客详细过程以及踩坑
  • 在jupyter中更改、增加内核
  • Redis代码实践总结(二)
  • 读取一张图片各种颜色占比
  • C程序设计内容与例题讲解 -- 第四章--选择结构程序设计(第五版)谭浩强
  • Blued引流脚本
  • 数据结构之美:如何优化搜索和排序算法
  • Unity 鼠标悬浮时文本滚动(Text Mesh Pro)
  • GNN PyG~torch_geometric 学习理解
  • ChatGPT 调教指南:从 PDF 提取标题并保存
  • 【day10.01】使用select实现服务器并发
  • Android修行手册 - Activity 在 Java 和 Kotlin 中怎么写构造参数
  • 【IPC 通信】信号处理接口 Signal API(7)
  • springboot和vue:十二、VueRouter(动态路由)+导航守卫
  • 文心一言 VS 讯飞星火 VS chatgpt (103)-- 算法导论10.1 1题
  • 【ShaderLab罪恶装备卡通角色_二次元风格_“Sol Badguy“_角色渲染(第二篇)】
  • raw智能照片处理工具DxO PureRAW mac介绍
  • 1.centos7 安装显卡驱动、cuda、cudnn
  • WordPress主题开发( 十四)之—— 主题开发示例
  • rust学习-any中的downcast和downcast_ref
  • js检测数据类型总结
  • 获奖作品展示 | 2023嵌入式大赛AidLux系列作品精彩纷呈
  • Mybatis 二级缓存(使用Redis作为二级缓存)
  • VMware vSphere ESXI 6.7 U3封装RTL8125B网卡驱动
  • 黑马JVM总结(二十五)
  • 基础数据结构之——【顺序表】(上)
  • Apollo自动驾驶系统概述(文末参与活动赠送百度周边)
  • Java 21 新特性:Unnamed Classes and Instance Main Methods
  • Tomcat启动后的日志输出为乱码
  • CSP-J第二轮试题-2021年-4题