XFCE面板GPU系统负载监视器配置求助
XFCE面板GPU系统负载监视器配置求助
针对你的AMD GPU在XFCE面板实现GPU负载和VRAM监控的需求,我给你整理了两种实用方案,都是基于GenMon(Generic Monitor)插件来实现,不需要复杂的脚本编写能力,直接用我提供的脚本就行:
方案一:利用系统sysfs接口(轻量无额外依赖)
这种方法不需要安装额外工具,直接读取AMD GPU暴露在系统文件中的监控数据,非常轻量:
创建监控脚本
在你的用户目录下新建一个gpu-monitor.sh文件,内容如下:#!/bin/bash # 读取GPU负载(如果你的GPU不是card0,可替换为card1等,查看/sys/class/drm/目录下的card*) GPU_LOAD=$(cat /sys/class/drm/card0/device/gpu_busy_percent) # 读取VRAM使用量和总量,转换为MB单位 VRAM_USED=$(($(cat /sys/class/drm/card0/device/mem_info_vram_used)/1024)) VRAM_TOTAL=$(($(cat /sys/class/drm/card0/device/mem_info_vram_total)/1024)) # 输出GenMon需要的格式,面板显示文本+鼠标悬停提示 echo "<txt>GPU: ${GPU_LOAD}% | VRAM: ${VRAM_USED}/${VRAM_TOTAL}MB</txt>" echo "<tool>GPU负载: ${GPU_LOAD}% VRAM已用: ${VRAM_USED}MB VRAM总量: ${VRAM_TOTAL}MB</tool>"给脚本添加执行权限
打开终端,执行命令:chmod +x ~/gpu-monitor.sh配置GenMon插件
- 右键XFCE面板,选择「添加新项目」,找到「Generic Monitor」并添加到面板
- 右键刚添加的GenMon插件,选择「属性」
- 在「命令」栏中填入脚本的绝对路径,比如
/home/你的用户名/gpu-monitor.sh - 调整「更新间隔」(建议2-5秒,平衡实时性和资源占用)
- 可选:在「显示」选项卡中设置图标(推荐选XFCE自带的
video-card图标),调整字体大小等
方案二:使用radeontop工具(数据更详细)
如果你想用更专业的GPU监控工具radeontop(和你之前用的gpu-mon逻辑类似),可以用这个方案:
安装radeontop
根据你的发行版执行安装命令:- Debian/Ubuntu系:
sudo apt install radeontop - Fedora/RHEL系:
sudo dnf install radeontop
- Debian/Ubuntu系:
创建监控脚本
同样新建gpu-monitor.sh,内容替换为:#!/bin/bash # 用radeontop获取1秒内的GPU数据,过滤出GPU负载和VRAM信息 DATA=$(radeontop -d 1 -f - | grep -E 'gpu|vram') GPU_LOAD=$(echo "$DATA" | grep gpu | awk '{print $2}' | sed 's/%//') VRAM_USED=$(echo "$DATA" | grep vram | awk '{print $2}') VRAM_TOTAL=$(echo "$DATA" | grep vram | awk '{print $4}') # 输出GenMon格式内容 echo "<txt>GPU: ${GPU_LOAD}% | VRAM: ${VRAM_USED}/${VRAM_TOTAL}</txt>" echo "<tool>GPU负载: ${GPU_LOAD}% VRAM已用: ${VRAM_USED} VRAM总量: ${VRAM_TOTAL}</tool>"重复方案一的步骤2和3
给脚本加执行权限,配置GenMon插件即可。
注意事项
- 如果你的系统中有多个GPU,需要确认
card0是否对应你的AMD显卡:可以查看/sys/class/drm/目录下的子目录,或者用lspci | grep VGA确认显卡位置。 - 两种方案都可以根据你的需求修改输出文本格式,比如只显示GPU负载或者调整VRAM的显示单位。
备注:内容来源于stack exchange,提问作者dmarsh01
相关产品推荐
相关产品推荐

