首页 > 其他分享 >通过显卡占用率和显存占用率获取空闲GPUs

通过显卡占用率和显存占用率获取空闲GPUs

时间:2023-12-05 22:55:05浏览次数:32  
标签:显存 显卡 int strs idle gpus GPUs 占用率

创建idleGPUs.py,内容如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from os import popen
from typing import List


def query_idle_gpus(threshold: int = 2) -> List[int]:
    CMD = (
        "nvidia-smi --format=csv,noheader,nounits"
        " --query-gpu=index,utilization.gpu,utilization.memory"
    )
    idle_gpus: List[int] = []
    with popen(CMD) as pipe:
        for line in pipe.readlines():
            strs = line.split(", ")
            if strs != 3:  # nvidia-smi is not available
                return []
            idx, util, memory = int(strs[0]), int(strs[1]), int(strs[2])
            if util < threshold and memory < threshold:
                idle_gpus.append(int(idx))
    return idle_gpus


if __name__ == "__main__":
    idle_gpus = query_idle_gpus()
    print(*idle_gpus, sep=",")

这个程序利用了nvidia-smi命令,查询显卡的占用率和显存的占用率。当两者的占用率都低于阈值(这里是2%)的时候,则认为该显卡是空闲的。运行该程序,即可获得通过逗号分割的空闲显卡。当计算机未安装显卡或未正确安装显卡时,程序输出为空。

同时,您可以将下面的命令架在每个运行GPU程序的命令的开头,让程序仅使用空闲的显卡。

CUDA_VISIBLE_DEVICES="`python ./idleGPUs.py`"

标签:显存,显卡,int,strs,idle,gpus,GPUs,占用率
From: https://www.cnblogs.com/fang-d/p/17878520.html

相关文章

  • cpu占用率很高怎么排查????
    问题显示:cpu太高: 1.top命令查出进程:18720进程cpu最高: 2.查出这个进程是由哪个线程提供的:top-H-p18720  或者 top-Hp18720 ##可以看出18745线程占用cpu最高 3.将线程id转换位16进制:printf'0x%x\n'18745 4.jstack 进程pid|grep 16进制pid -A......
  • Java获取CPU占用率、内存占用率
    packagetest.lyh.test;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;importjava.lang.management.ManagementFactory;importjava.lang.management.OperatingSystemMXBean;importjava.math.BigDecimal;importjava.math.RoundingMode......
  • 在终端绘制GPU显存使用曲线
    title:在终端绘制GPU显存使用曲线banner_img:https://cdn.studyinglover.com/pic/2023/08/588d9420c9302f5e0d6c2e89fbddf200.pngdate:2023-8-1311:44:00在终端绘制GPU显存使用曲线这个东西的灵感来自于写torch的时候想实时看到loss和gpu使用情况,突然想到可以在终端实时......
  • docker使用--gpus all报错: docker: Error response from daemon: could not select d
    报错信息:docker:Errorresponsefromdaemon:couldnotselectdevicedriver""withcapabilities:[[gpu]].解决方法:1,任意路径下创建nvidia-container-runtime-script.sh文件vimnvidia-container-runtime-script.sh拷贝下方内容到nvidia-container-runtime-script.......
  • win10怎么查看CPU多核占用率(转)
    原文:https://blog.csdn.net/weixin_44217936/article/details/119185905作者:想躺平的小陈 打开任务管理器——性能——CPU 如下图所示的是CPU总体利用率 查看每个cpu的利用率,右击旁边的折线图 (有几个图就代表CPU是几核的,如下图是12核的) ......
  • Windows怎么查看英伟达显卡显存消耗
    参考:https://zhidao.baidu.com/question/507196547206068124.html使用命令nvidia-smi......
  • 大语言模型LLM推理及训练显存计算方法
    一、推理:显存计算推理的显存大头就是:参数量,参数类型版本一般有以下四种: float32位浮点数4字节half/BF1616位浮点数2字节int88位整数1字节int44位整数0.5字节 以7B-BF16版本为例,需要显存=数量*类型大小=70亿*2字节=140亿字节 所以140亿......
  • 如何查看Linux机器上docker容器的cpu占用率和磁盘使用率
    一、查看服务器上各个docker容器服务的CPU占用率:dockerstats 二、查看各docker容器的磁盘占用情况:df -h ......
  • CPU占用率高怎么办?-华为
    一、查看CPU占用率displaycpu命令,查看CPU占用率。<HUAWEI>displaycpuCPUutilizationstatisticsat2017-12-0111:17:44945msSystemCPUUsingPercentage:12%CPUutilizationforfiveseconds:12%,oneminute:12%,fiveminutes:11%.MaxCPUUsage:......
  • 磁盘占用率100% 的优化方案
    1.禁用不必要的系统服务右键点击此电脑,打开管理打开服务寻找SysMain右键属性=》禁用=》停止=》应用SysMain的作用:当开机后,windows会加载大量的应用程序预加载到内存中,会在后台预加载数据(如果是旧版本windows,服务名称为:SuperFetch或DiagTrack)Windows的search......