查询资源消耗

news/2025/2/7 7:33:47/

import subprocess

def get_cpu_usage(pid, duration):
output = subprocess.check_output([‘pidstat’, ‘-d’, ‘-p’, str(pid), ‘1’, str(duration)]).decode(‘utf-8’)
lines = output.strip().split(’\n’)
cpu_usage = []
for line in lines[4:]:
fields = line.split()
cpu_usage.append(float(fields[6]))
max_cpu = max(cpu_usage)
avg_cpu = sum(cpu_usage) / len(cpu_usage)
return max_cpu, avg_cpu

def get_memory_usage(pid, duration):
output = subprocess.check_output([‘pidstat’, ‘-r’, ‘-p’, str(pid), ‘1’, str(duration)]).decode(‘utf-8’)
lines = output.strip().split(’\n’)
mem_usage = []
for line in lines[4:]:
fields = line.split()
mem_usage.append(float(fields[6]))
max_mem = max(mem_usage)
avg_mem = sum(mem_usage) / len(mem_usage)
return max_mem, avg_mem

def get_disk_io(pid, duration):
output = subprocess.check_output([‘pidstat’, ‘-d’, ‘-p’, str(pid), ‘1’, str(duration)]).decode(‘utf-8’)
lines = output.strip().split(’\n’)
disk_io = []
for line in lines[4:]:
fields = line.split()
disk_io.append(float(fields[5]))
max_disk_io = max(disk_io)
avg_disk_io = sum(disk_io) / len(disk_io)
return max_disk_io, avg_disk_io

def get_net_io(pid, duration):
output = subprocess.check_output([‘pidstat’, ‘-n’, ‘-p’, str(pid), ‘1’, str(duration)]).decode(‘utf-8’)
lines = output.strip().split(’\n’)
net_io = []
for line in lines[4:]:
fields = line.split()
net_io.append(float(fields[4]) + float(fields[7]))
max_net_io = max(net_io)
avg_net_io = sum(net_io) / len(net_io)
return max_net_io, avg_net_io

pid = 12345 # 替换为你需要测试的进程的PID
duration = 10 # 替换为你的测试时长

max_cpu, avg_cpu = get_cpu_usage(pid, duration)
max_mem, avg_mem = get_memory_usage(pid, duration)
max_disk_io, avg_disk_io = get_disk_io(pid, duration)
max_net_io, avg_net_io = get_net_io(pid, duration)

print(f"CPU 最大值: {max_cpu}% 平均值: {avg_cpu}%")
print(f"内存 最大值: {max_mem} 平均值: {avg_mem}")
print(f"磁盘IO 最大值: {max_disk_io} 平均值: {avg_disk_io}")
print(f"网络流量 最大值: {max_net_io} 平均值: {avg_net_io}")


http://www.ppmy.cn/news/1147806.html

相关文章

I2VGen-XL高清图像生成视频大模型

本项目I2VGen-XL旨在解决根据输入图像生成高清视频任务。I2VGen-XL由达摩院研发的高清视频生成基础模型之一,其核心部分包含两个阶段,分别解决语义一致性和清晰度的问题,参数量共计约37亿,模型经过在大规模视频和图像数据混合预训…

ts知识点——基础积累

第一章 快速入门 1、TypeScript简介 TypeScript是JavaScript的超集。它对JS进行了扩展,向JS中引入了类型的概念,并添加了许多新的特性。TS代码需要通过编译器编译为JS,然后再交由JS解析器执行。TS完全兼容JS,换言之,…

zsh: command not found: conda问题解决

参考:https://zhuanlan.zhihu.com/p/158703094 一、问题介绍与环境介绍 系统为macOS Catalina 10.15.4 所用终端为zsh 安装了oh-my-zsh之后conda命令在终端中不可用。 二、原因分析 终端中zsh的可访问的程序一般放在/bin, /usr/bin, /usr/local/bin,/bin目录下&…

Fisher辨别分析

问题要求 在UCI数据集上的Iris和Sonar数据上验证算法的有效性。训练和测试样本有三种方式(三选一)进行划分: (一) 将数据随机分训练和测试,多次平均求结果 (二)K折交叉验证 &…

purr map walk 学习教程 完整版教程学习

Function reference • purrrhttps://purrr.tidyverse.org/reference/index.htmlMap over multiple input simultaneously (in "parallel") — pmap • purrr 11 Other purrr functions | Functional Programming (stanford.edu) 关注微信:生信小博士 1…

基于SpringBoot的抗疫物资管理系统

目录 前言 一、技术栈 二、系统功能介绍 用户管理 公告信息管理 轮播图管理 物质分类管理 物质信息管理 物质入库管理 物质出库管理 个人信息 前台首页功能实现 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着现在网络的快速发展,网…

STM32使用HAL库驱动TA6932数码管驱动芯片

TA6932介绍 8段16位,支持共阴共阳LED数码管。 2、STM32CUBEMX配置引脚 推挽配置即可。 3、头文件 /******************************************************************************************** * TA6932:8段16位数码管驱动 *******************…

hadoop -hive 安装

1.下载hive http://archive.apache.org/dist/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz2.解压/usr/app 目录 tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /usr/app3.设置软连接 ln -s /usr/app/apache-hive-3.1.3-bin /usr/app/hive4.修改/usr/app/hive/conf/hive-env.…