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

news2024/9/29 8:24:25

和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的主事件循环,等待用户交互。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1396158.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

轮胎侧偏刚度线性插值方法

一、trucksim取数据 步骤一 步骤二 二、数据导入到matlab中 利用simulink的look up table模块 1是侧偏角;2是垂直载荷;输出是侧向力。 侧向力除以侧偏角就是实时的侧偏刚度。

排序:计数排序

目录 思想: 操作步骤: 思路: 注意事项: 优缺点: 代码解析: 完整代码展示: 思想: 计数排序又称为鸽巢原理,是对哈希直接定址法的变形应用。 操作步骤&#xff…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用Binning像素合并功能(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用Binning像素合并功能(C#) Baumer工业相机Baumer工业相机NEOAPI SDK和短曝光功能的技术背景Baumer工业相机通过CameraExplorer软件使用Binning功能Baumer工业相机通过NEOAPI SDK使用Binning功能1.引用合…

2018年认证杯SPSSPRO杯数学建模C题(第二阶段)机械零件加工过程中的位置识别全过程文档及程序

2018年认证杯SPSSPRO杯数学建模 基于轮廓提取与图像配准的零件定位问题研究 C题 机械零件加工过程中的位置识别 原题再现: 在工业制造自动生产线中,在装夹、包装等工序中需要根据图像处理利用计算机自动智能识别零件位置,并由机械手将零件…

python数字图像处理基础(九)——特征匹配

目录 蛮力匹配(ORB匹配)RANSAC算法全景图像拼接 蛮力匹配(ORB匹配) Brute-Force匹配非常简单,首先在第一幅图像中选取一个关键点然后依次与第二幅图像的每个关键点进行(描述符)距离测试&#x…

爆推联盟,推广接单平台定制开发(智创有术)

爆推联盟官网、推广接单平台、很多朋友问我做项目要怎么做,项目怎么选?那些项目比较稳定靠谱,赚钱还不错的平台,其实网上的项目很多,别说做,看都看不过来,我们做项目最主要的就是稳定嘛&#xf…

智能化未来:NFC技术助力数字化社区

引言 数字化转型深刻改变着社区管理的方式,其中NFC技术作为一种近场通讯技术,正在为数字社区的智能化未来提供强有力的支持。 NFC技术简介 近场通讯技术(NFC)是一种无线通信技术,能够实现设备之间的近距离通讯。在数字社区建设中&#xf…

第一讲_HarmonyOS应用开发环境准备

HarmonyOS应用开发环境准备 1. 知识储备2. 环境搭建2.1 安装node.js2.2 配置node.js2.3 安装命令行工具2.4 安装DevEco Studio2.5 配置DevEco Studio 1. 知识储备 HarmonyOS提供了一套UI开发框架,即方舟开发框架(ArkUI框架)。方舟开发框架可…

#开发环境篇:HBuilderX自定义括号颜色激活时list和tab的背景色

Settings.json 配置 位置在 设置------> 源码设置里面 {"beautify.useProjectConfigFile": true,"browsers.config": {"Chrome.path": "C:/Program Files/Google/Chrome/Application/chrome.exe"},"defaultFomat.vue":…

判断SD-WAN是否适用于你的企业的关键问题

企业网络的演进已经将SD-WAN(软件定义广域网)推到了风口浪尖。不论企业规模如何,它们都在寻求适应不断变化的网络环境的最佳解决方案。尽管SD-WAN的部署带来了多方面的优势,但企业在决定是否采用SD-WAN时需要考虑一些关键问题。 关…

SafeTpack—基于AURIX 2G的功能安全目标解决方案

产品概述 SafeTpack是专门针对于英飞凌AURIX 2G系列芯片的功能安全解决方案,由英飞凌下属子公司Hitex按照ISO26262-10作为独立于环境的安全要素(SEOOC)研发。根据ISO26262-5中的要求,系统需要根据不同ASIL等级的要求,针…

目标文献分析方法

如何正确选题? 不仅仅是题目,而是研究工作的起步选题步骤? 发现问题选择方向调查研究分析论证确定选题 中国知网 深度学习方向词 1检索:深度学习 医疗影像 1 发表时间要最新 2 显示50个,全选 3 导出文献格式Ref 4 导…

JVM垃圾回收机制及思维导图

一、Java垃圾回收机制 在java中,程序员是不需要显示的去释放一个对象的内存的,而是由虚拟机自行执行。在JVM中,有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前堆内…

官宣!Meta正在训练Llama 3,将继续开源

1月19日,全球社交、科技巨头Meta的联合创始人兼首席执行官-Zuck(扎克伯格)在is宣布,正在训练Llama 3并且以负责任地方式继续开源。 Zuck表示,预计到2024年底,Meta将拥有350,000块H100,如果算上…

JAVA SECS发送Report C#处理SECS Report SECS发送事件资料大全 S6F11 建立通讯S1F13

发送S6F11非常简单,只需5~6行代码,最核心是代码清晰易懂。 任何人都可以一看就能上手,如果说用代码可读性作为不可替代性的壁垒就无话可说了。 private void buttonS6F11_Click(object sender, EventArgs e) {int nTransaction 0;// 数据部…

Java中创建List接口、ArrayList类和LinkedList类的常用方法(一)

List接口 要了解List接口,就不得不说起Java的集合框架。 (该图来自菜鸟教程) Collection接口和Map接口 Java 集合框架主要包括两种类型的容器,集合Collection和图Map。 Collection接口代表了单列集合,它包含了一组…

画面滤镜特效SDK,企业级视频处理技术方案

视频处理技术日新月异,对于企业而言,如何快速、高效地处理视频内容,增加其观赏性和吸引力,成为了一项重要的挑战。美摄科技画面滤镜特效SDK,作为一款全面的视频处理工具,为企业提供了一种高效、灵活的视频处…

元宇宙:智慧城市建设的未来引擎与价值之源

在21世纪的技术大潮中,元宇宙的出现无疑是一场革命,其独特的概念与价值已经引发了全球范围内的关注。 作为新兴科技的前沿,元宇宙为智慧城市建设带来了无限的可能性和价值,有望成为未来城市发展的核心动力。 元宇宙,这…

虚拟线程探索与实践(JDK19)

优质博文:IT-BLOG-CN 一、简介 虚拟线程是轻量级线程,极大地减少了编写、维护和观察高吞吐量并发应用的工作量。虚拟线程是由JEP 425提出的预览功能,并在JDK 19中发布,JDK 21中最终确定虚拟线程,以下是根据开发者反馈…

JAVA实现向Word模板中插入Base64图片和数据信息

目录 需求一、准备模板文件二、引入Poi-tl、Apache POI依赖三、创建实体类(用于保存向Word中写入的数据)四、实现Service接口五、Controller层实现 需求 在服务端提前准备好Word模板文件,并在用户请求接口时服务端动态获取图片。数据等信息插…