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

python监控显卡显存

在工作组中,经常会遇到多人争抢显卡的情况,僧多肉少,所以可以做个监控显卡的头部程序,然后再调取主程序训练模型。
我们借用pynvml,没有安装的,可以使用下面命令直接安装:

pip install pynvml

下面使用pynvml可以查看显卡总共多少显存,剩余多少显存,以及已用多少显存。

import pynvml

pynvml.nvmlInit()
handle = pynvml.nvmlDeviceGetHandleByIndex(0) # 这里的0表示第一张显卡
meminfo = pynvml.nvmlDeviceGetMemoryInfo(handle)
print(meminfo.total/1024/1024/1024) # 输出第一张显卡的显存
print(meminfo.free/1024/1024/1024) # 输出第一张显卡的可用显存
print(meminfo.used/1024/1024/1024) # 输出第一张显卡的已用显存

我们如果想对显卡进行监控,可以使用下面的命令:

import pynvml

# 定义一个读取gpu显卡的函数,gpu为第几张显卡,free表示需要多少剩余显存
def test_gpu(gpu, free):
    pynvml.nvmlInit()
    handle = pynvml.nvmlDeviceGetHandleByIndex(gpu)
    meminfo = pynvml.nvmlDeviceGetMemoryInfo(handle)

    return meminfo.free/1024/1024/1024 < free

然后用while循环对显卡进行监控:

while test_gpu(1, 40):
	print("GPU memory < %dGB, wait 1 minut"%40)
    time.sleep(60)

当显卡的剩余显存大于40GB的时候,才可以执行下面的程序,否则将等待1分钟(可以根据自己情况设置)。
如果想要执行python程序文件,可以使用os库运行:

import os
os.system('python run.py')

相关文章:

  • Go 从编译到执行
  • 目标检测开源数据
  • 选择合适的企业邮箱供应商的策略与技巧
  • 基于javaweb的宠物服务商城系统设计与开发
  • Unity中Shader的BRDF解析(一)
  • 【论文学习】机器学习模型安全与隐私研究综述
  • MySQL中自增id用完怎么办?
  • Linux:docker镜像的创建(5)
  • PHP:js中怎么使用PHP变量,php变量为数组时的处理
  • C#图像处理OpenCV开发指南(CVStar,04)——图片像素访问与多种局部放大效果的实现代码
  • 试用程序实现不使用缓存字节数组的方法复制C盘根目录下的a,jpg到E盘下的a.jpg
  • 数据结构与算法之递归: LeetCode 46. 全排列 (Typescript版)
  • Linux系统编程--文件操作函数
  • Vue 3 面试经验分享
  • Docker的数据持久化;Docker网络;Dockerfile编写
  • 传音荣获2023首届全国人工智能应用场景创新挑战赛“智能家居专项赛”三等奖
  • 如何把ipa文件(iOS安装包)安装到iPhone手机上? 附方法汇总
  • Springboot+vue的新冠病毒密接者跟踪系统(有报告)。Javaee项目,springboot vue前后端分离项目
  • Android 13.0 Launcher3 禁止首屏时钟部件拖动到其他屏
  • visual studio 2022 更改字体和大小
  • 中国—美国经贸合作对接交流会在华盛顿成功举行
  • 多家外资看好中国市场!野村建议“战术超配”,花旗上调恒指目标价
  • 受美关税影响,本田预计新财年净利下降七成,并推迟加拿大建厂计划
  • 兰州大学教授安成邦加盟复旦大学中国历史地理研究所
  • 特朗普开启第二任期首次外访:中东行主打做生意,不去以色列
  • 中国潜水救捞行业协会发布《呵护潜水员职业健康安全宣言》