gpu实时显示 nvidia-smi实时刷新

linux:

watch -n 1 -d nvidia-smi

watch -n 2 -d nvidia-smi
每隔2秒刷新一次,每次只在固定位置刷新


2. 定时查询

nvidia-smi -l 2
每隔2秒查询一下,但是每次的查询结果会接着上一个往下刷新,导致持续扩张terminal的历史log

gpu占用查看 nvidia-smi实时刷新_AI视觉网奇的博客-CSDN博客_查看显卡占用

windows:

进入C:\Program Files\NVIDIA Corporation\NVSMI

在此处打开cmd

nvidia-smi:查看当前的显卡使用
nvidia-smi -L:列出所有显卡的信息
nvidia-smi -l 2:动态显示显卡使用信息,每一秒更新一次,参数值可以自己修改
nvida-smi -lms:循环动态显示
nvidia-smi dmon:设备监视(device monitor)
nvidia-smi -i n:显示指定的显卡(如果你有多块显卡,n的值对应显卡的位置)
————————————————
版权声明:本文为CSDN博主「ShellCollector」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jacke121/article/details/115710809

这个乱码:

    import time
    import subprocess
    import locale
    import codecs
    import os

    cmd = "nvidia-smi"
    interval = 3
    while True:
        ps = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, shell=True)
        for i in range(0, 13):
            data = ps.stdout.readline()
            # bytes转化为str
            data = str(data)
            # 判断是否开始于"b'",去掉
            if data.startswith('b\''):
                data = data[2:]
            # 同样去掉尾部
            if data.endswith('\\r\\n\''):
                data = data[:len(data) - 5]
            print("\r " + data, end="")
            # print("\r"+data,end = "",flush=True)
        # print("\n\n\n\n\n\n\n")
        time.sleep(interval)

这个有的报错

import pynvml
import time
pynvml.nvmlInit()

def printNvidiaGPU(gpu_id):
    # get GPU temperature
    gpu_device = pynvml.nvmlDeviceGetHandleByIndex(gpu_id)

    temperature = pynvml.nvmlDeviceGetTemperature(gpu_device, pynvml.NVML_TEMPERATURE_GPU)
    # get GPU memory total
    totalMemory = pynvml.nvmlDeviceGetMemoryInfo(gpu_device).total
    # get GPU memory used
    usedMemory = pynvml.nvmlDeviceGetMemoryInfo(gpu_device).used

    performance = pynvml.nvmlDeviceGetPerformanceState(gpu_device)

    powerUsage = pynvml.nvmlDeviceGetPowerUsage(gpu_device)
    powerState = pynvml.nvmlDeviceGetPowerState(gpu_device)
    FanSpeed = pynvml.nvmlDeviceGetFanSpeed(gpu_device)
    PersistenceMode = pynvml.nvmlDeviceGetPersistenceMode(gpu_device)
    UtilizationRates = pynvml.nvmlDeviceGetUtilizationRates(gpu_device)

    print("MemoryInfo:{0}M/{1}M,使用率:{2}%".format("%.1f" % (usedMemory / 1024 / 1024), "%.1f" % (totalMemory / 1024 / 1024), "%.1f" % (usedMemory/totalMemory*100)))
    print("Temperature:{0}摄氏度".format(temperature))
    print("Performance:{0}".format(performance))
    print("PowerState: {0}".format(powerState))
    print("PowerUsage: {0}".format(powerUsage / 1000))
    print("FanSpeed: {0}".format(FanSpeed))
    print("PersistenceMode: {0}".format(PersistenceMode))
    print("UtilizationRates: {0}".format(UtilizationRates.gpu))
    time.sleep(1)
    
while (1):
    printNvidiaGPU(0) # 此处以0号gpu为例
    time.sleep(1)

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
实时查看 Nvidia-Smi 的一种常见方法是在终端上执行命令,并将其结果通过脚本或系统工具自动更新显示。这里提供一种简单的方式,利用 Linux 系统自带的 `xsel` 和 `xwin` 工具(如果您的环境里没有 `xwin` 可以考虑安装 X11 相关包)。不过请注意这种方法依赖于 X11 环境,并非所有终端(如一些基于文本界面的 Linux 终端或某些远程桌面连接)都能支持。 ### 步骤: #### 准备工作: 1. **确保已安装必要的软件**:在大多数现代发行版中,`nvidia-smi`, `xsel`, 和 `xwin` 都是默认包含的。你可以通过运行 `sudo apt-get install nvidia-driver-utils`(对于 Debian/Ubuntu)或 `sudo yum install xorg-x11-fonts-util`(对于 Red Hat/CentOS/Fedora)来进行安装(如果缺少的话)。 #### 实现步骤: 1. **打开终端** 并运行以下命令以获取 GPU 使用情况数据: ``` nvidia-smi > tmp.txt ``` 这将把 nvidia-smi 输出保存到临时文件 `tmp.txt` 中。 2. **创建一个循环脚本来实时更新信息**: ```bash while true; do clear # 清空屏幕以便每次刷新都有新鲜的数据展示 nvidia-smi >> tmp.txt # 更新文件内容并追加新的输出 xsel -ib < tmp.txt | xwin -geometry 800x400+$(wmctrl -l | grep 'Xinerama' | awk '{print $7}' | cut -d '.' -f 1) | xdotool search --name 'X11' windowactivate --sync && xdotool keyspace && sleep 5 done & ``` 这个脚本会每隔 5 秒钟更新一次 GPU 使用情况,同时清屏以避免历史信息混淆视线。使用此命令前请确认您有足够的权限操作 X11 窗口系统。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值