Ubuntu下将nvidia-smi封装为GUI界面,实时查看显卡信息

本文介绍了一种使用Python编写的GUI程序,通过调用nvidia-smi命令实时监控NVIDIA显卡状态,将结果显示在图形界面上,实现无需终端且自动刷新的功能。
摘要由CSDN通过智能技术生成

和win系统不同的是,在Ubuntu端,系统级的系统监视器中,只能查看内存、CPU和网络状态,并不能查看GPU状态

而使用NVIDIA显卡的朋友都知道一条指令

nvidia-smi

在终端运行后即可查看显卡信息、资源占用情况等

但是这样会占用终端,而且想要实时刷新还需要额外的指令,所以就想到利用python程序将其封装进GUI界面中实时刷新显示

import subprocess
import tkinter as tk
from tkinter import font

def update_smi():
    smi_output = subprocess.getoutput('nvidia-smi')
    text_box.delete(1.0, "end")
    text_box.insert("end", smi_output)
    root.after(300, update_smi)

root = tk.Tk()
root.title("NVIDIA 资源监控器")

# Set the window size (width x height)
root.geometry("750x420")

# Set the font for the textbox (font family, size, and other attributes)
custom_font = font.Font(family="aakar", size=12)

text_box = tk.Text(root, bg='black', fg='white', font=custom_font)
text_box.pack(expand=True, fill='both')

update_smi()
root.mainloop()

这个程序是一个使用Python编写的图形界面应用,其主要功能是定期监控和显示NVIDIA显卡的状态信息。程序的关键部分包括:

1. 导入必要的库:使用subprocess来运行外部命令,tkinter和tkinter.font用于创建图形界面。

2. 定义update_smi函数:这个函数通过运行nvidia-smi命令获取NVIDIA显卡的当前状态,然后更新显示在文本框中。subprocess.getoutput('nvidia-smi')获取命令输出,text_box.delete(1.0, "end")清除文本框中的旧内容,text_box.insert("end", smi_output)插入新的命令输出。root.after(300, update_smi)实现了每300毫秒自动刷新显示的功能。

3. 初始化Tkinter窗口:通过tk.Tk()创建了一个Tkinter窗口,设置了窗口标题和大小。

4. 设置文本框:创建了一个文本框用于显示信息,设置了背景颜色、前景色(文字颜色)和字体样式。

5. 开始监控和事件循环:调用update_smi()开始监控,并进入Tkinter的主事件循环,等待用户交互。

运行程序可以看到如下界面:

如果你在Ubuntu系统中尝试使用`nvidia-smi`命令但是无法使用,可能是由于NVIDIA GPU驱动程序未正确安装、未加载,或者权限不足等原因导致的。以下是几个可能的原因和解决步骤: 1. **驱动程序未安装**:首先检查是否已经安装了NVIDIA官方的CUDA和驱动程序。打开终端,输入`sudo apt-get update && sudo apt-get install nvidia-driver`,如果提示没有找到相应的包,你可能需要访问NVIDIA官网下载并手动安装。 2. **驱动程序未加载**:安装后,如果GPU驱动没有自动加载,你可以运行`sudo modprobe nvidia`或`sudo systemctl enable nvidia`来手动加载驱动。然后重启电脑确认是否生效。 3. **权限问题**:如果你的用户账户不是root,`nvidia-smi`可能需要超级用户权限。运行`sudo nvidia-smi`试试看。 4. **命令行工具版本过旧**:确保你正在使用的`nvidia-smi`是与你安装的驱动兼容的版本。你可以通过`whereis nvidia-smi`查看其位置,确保路径正确。 5. **软件包冲突或损坏**:有时候其他软件包可能会干扰`nvidia-smi`的使用。尝试卸载可能引起冲突的软件包,如`nouveau`,然后重新安装NVIDIA相关软件。 6. **更新系统库**:有时候,软件包依赖库可能已过时,运行`sudo apt-get upgrade`检查是否有可用的更新。 如果你尝试以上所有方法仍然无法使用`nvidia-smi`,可能需要查看详细的错误信息(如果有),或者在开发者论坛寻求帮助,提供完整的报错信息以便得到更准确的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

sagima_sdu

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

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

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

打赏作者

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

抵扣说明:

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

余额充值