如何开启 btop 的 GPU 监控:NVIDIA、AMD、Intel 显卡监控实战指南
【免费下载链接】btopA monitor of resources项目地址: https://gitcode.com/GitHub_Trending/bt/btop
btop 是一款终端资源监控工具,能实时显示 CPU、内存、进程与网络状态,同时支持 NVIDIA、AMD、Intel 三家显卡的 GPU 监控。本文面向 Linux 新手,讲解如何安装 btop、启用显卡监控,并读懂利用率、显存、温度与功耗这些数据。
btop 的 GPU 监控能做什么
btop 直接在终端里运行,不需要额外的图形进程,一个二进制文件就能在桌面或 SSH 服务器上使用;即使是没有图形界面的 TTY 文本控制台,也能显示完整的显卡数据面板。
作为 Linux 显卡监控工具,它的定位是"轻量监控入口":GPU 监控是内置能力,无需再按品牌另装一套厂商工具。NVIDIA 通过官方 nvidia-ml 动态库取数,AMD 通过 ROCm SMI 库取数,Intel 则由 btop 内置的采集模块完成。
架构上,数据采集被收敛在平台文件src/linux/btop_collect.cpp中,Intel 显卡有独立的采集模块(见 src/linux/intel_gpu_top/,源自开源项目 Intel GPU Tools),渲染统一交给btop_draw.cpp。三家品牌的数据因此落在同一套面板里,读法完全一致。
如何安装 btop 并启用显卡监控
先对照下表确认环境,这是 GPU 监控的最低要求:
| 项目 | 要求 |
|---|---|
| 系统 | Linux x86_64(macOS 的 Apple Silicon 显卡也支持) |
| 预编译包内核 | 2.6.39 及以上 |
| 源码编译 | GCC 14 或 Clang 19 及以上 |
| NVIDIA | 官方驱动(开源或闭源均可),nvidia-ml 动态库随驱动包附带 |
| AMD | rocm_smi_lib(rocm-smi) |
| Intel | 需要 SYSFS 读取权限,用make setcap设置 |
安装分两条路径。
路径 A:预编译包。从项目 release 页下载对应版本的.tbz压缩包,解压后执行sudo make install。注意:预编译二进制是静态构建,不含 GPU 监控,只适合做基础资源监控。
路径 B:源码编译(GPU 监控必须走这条路)。x86_64 Linux 下 GPU 支持默认开启,显式传参可写GPU_SUPPORT=true:
git clone https://gitcode.com/GitHub_Trending/bt/btop cd btop make GPU_SUPPORT=true sudo make install sudo make setcap最后一行仅 Intel 显卡需要。AMD 用户若系统没有 rocm_smi_lib,改用make RSMI_STATIC=true静态链接(需先把 rocm_smi_lib 源码放在lib/rocm_smi_lib目录)。
验证方法:启动btop,按5、6、7键分别切换第一、二、三块显卡面板的显示与隐藏(0用于隐藏全部),看到显卡型号与利用率曲线即表示启用成功。
GPU 监控指标怎么看
按指标类型理解,与品牌无关:
- GPU 利用率:计算单元处于忙碌状态的时间占比。曲线是历史趋势,持续贴近 100% 说明显卡就是当前瓶颈。
- 显存:显示已用/总量与使用率条。使用率接近打满时,渲染类任务有爆显存风险,可以提前预警。
- 温度与功耗:温度用于判断散热余量,功耗反映是否接近功耗墙。若温度高但利用率低,通常不是负载问题,而是散热问题。
- 频率:核心时钟。实际频率明显低于标称值,多为降频(过热或功耗限制)的信号。
- NVIDIA 显卡还额外提供风扇转速。
三家品牌的数据源不同,指标覆盖差异由此而来:
| 品牌 | 数据源 | 可监控指标 |
|---|---|---|
| NVIDIA | nvidia-ml 官方动态库 | 利用率、显存、温度、功耗、风扇 |
| AMD | ROCm SMI 库(rocm_smi_lib) | 利用率、显存、温度、功耗 |
| Intel | 内置采集模块(intel_gpu_top) | 利用率、功耗、时钟频率 |
实战:用监控定位性能瓶颈
游戏掉帧。开一个独立终端运行 btop,按5调出显卡面板。GPU 利用率打满 100% 且帧率仍低,瓶颈在显卡性能本身,降分辨率或纹理精度有效;显存曲线接近打满,则更可能是纹理负载超出显存容量。建议命令:
btop渲染爆显存/过热。跑 Blender 等渲染任务时,在另一终端盯显存与温度两条曲线。温度持续超过 85°C,优先检查散热(风扇曲线、机箱风道),再考虑降频;渲染中显存打满,则降低输出分辨率或分段渲染。若终端只支持 256 色,加-lc使用低色模式:
btop -lc配置与主题定制
btop 的配置文件位于~/.config/btop/btop.conf,与 GPU 监控相关的参数:
| 参数 | 默认值 | 说明 |
|---|---|---|
shown_boxes | 自动 | 手动指定显示的面板:cpu mem net proc与gpu0~gpu5,空格分隔 |
graph_symbol_gpu | default | GPU 面板图形符号:braille、block、tty |
update_ms | 2000 | 刷新间隔(毫秒),建议 2000 以上,曲线采样更平滑 |
show_gpu_info | Auto | CPU 面板内是否附带显卡信息:Auto/On/Off |
也可以在 btop 内打开选项菜单直接可视化修改,退出后自动写回配置文件:
主题方面,themes/ 目录内置 40 余个主题。面板边框、温度渐变等颜色由主题文件中的theme[xxx]条目统一管理,例如:
theme[cpu_box]="#B877DB" theme[temp_start]="#27D796" theme[temp_end]="#E95678"替换为其他色值,GPU 面板外观会随整套主题一起变化,无需逐块调整。
排查问题速查
| 症状 | 检查点 | 解决方法 |
|---|---|---|
| NVIDIA 显卡检测不到 | nvidia-smi能否正常运行;驱动是否官方、nvidia-ml 库是否已安装;btop 是否为启用 GPU 支持的非静态构建 | 安装官方驱动(nvidia-ml 随包附带),从源码重新编译 btop |
| AMD 利用率正常但功率等数据缺失 | 系统 rocm_smi_lib 是否可用、版本是否兼容 | 安装发行版的 rocm-smi 包;或把 rocm_smi_lib 源码放入lib/后用make RSMI_STATIC=true重编 |
| Intel 显卡无数据或提示权限不足 | 是否已赋予 SYSFS 读取权限(即是否执行过 setcap) | 执行sudo make setcap(推荐)或sudo make setuid;也可临时用 sudo 运行 btop |
一句话收束:btop 把显卡监控从"每个厂商一套工具"变成终端里一个随时可开的程序,三家品牌的数据共用同一套面板,排查路径也就是上面这张表。编译细节、故障排除与更新说明可进一步参考项目仓库中的 README.md 与 CHANGELOG.md,最新版本以仓库 release 页为准。
【免费下载链接】btopA monitor of resources项目地址: https://gitcode.com/GitHub_Trending/bt/btop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考