btop 终端显卡监控完整指南:NVIDIA、AMD、Intel 一屏看全
【免费下载链接】btopA monitor of resources项目地址: https://gitcode.com/GitHub_Trending/bt/btop
如果你想在终端里把 NVIDIA、AMD、Intel 三家显卡的运行状态一次看全,btop 的显卡监控模块大概是成本最低的方案:打开一个命令行窗口,核心利用率、显存占用、温度与功耗就铺在眼前,不必为每家显卡单独装一套图形化监控软件。
btop 本身是一款用 C++ 写的终端资源监控器,支持 Linux、macOS 和多个 BSD。GPU 监控从 v1.3.0 起进入 Linux 版,到 v1.4.0 又补上了 Intel 核显。它和top/htop的关系是:后者管 CPU 与进程,而 btop 在此基础上多叠了内存、网络和显卡几块面板,全部用字符画成曲线。
为什么把显卡监控搬进终端
图形化监控工具各有好处,但有两类场景终端更顺手:
- 远程机器:SSH 到服务器或矿机上时,图形界面根本带不过去,而 btop 直接跑在 TTY 里,盲文点字画出的曲线一样清晰。
- 低开销常驻:把 btop 挂在一个窗口里长期观察,比反复切到桌面看曲线省心。
对游戏党和渲染用户来说,终端版最大的价值是“即时”——负载一上来,曲线立刻有反应,不用再去别处查。
从零搭建:装对版本才有 GPU 面板
这一步最容易被忽略:发行版仓库、Homebrew 和 release 页里的预编译包都不带 GPU 支持(因为 GPU 数据依赖运行时加载的显卡动态库,无法静态打进这些二进制里)。所以想要显卡监控,基本得从源码编译。
先确认环境
- 编译器满足要求:至少 GCC 14 或 Clang 19
- 三家显卡各自的驱动/库已装好(见下文对比表)
克隆并编译
git clone https://gitcode.com/GitHub_Trending/bt/btop cd btop make sudo make installx86_64 Linux 上GPU_SUPPORT默认就是开着的,不用额外加参数;想关掉才写make GPU_SUPPORT=false。
给 Intel 核显(和 CPU 功耗)补权限
Intel iGPU 要读 SYSFS,需要额外授权:
sudo make setcap装完运行btop,能看到显卡面板即成功。
启动后的第一眼:GPU 面板怎么调出来
btop 的显卡面板是按需显示的,默认不一定全开:
- 按数字键
5、6、7分别控制第 1、2、3 块 GPU 的显示/隐藏,0可一键收起全部 - 想在 CPU 面板里顺带看 GPU 概览,可进 CPU 选项菜单里配置
- 按
F1打开帮助菜单查全部按键
多卡机器上建议固定把5、6都打开,一眼对比各卡负载。
三家显卡,三种取数方式
btop 没有一套代码打天下,而是按品牌走不同的取数通道,这也是它“开箱即支持”三家的底层原因:
| 显卡 | 取数依赖 | 前置条件 | 面板可见指标 |
|---|---|---|---|
| NVIDIA | NVML(nvidia-ml 动态库) | 官方驱动(闭源/开源均可) | 利用率、显存、温度、功耗、风扇、频率 |
| AMD | ROCm SMI(rocm_smi_lib) | 发行版提供该库,或静态链接 | 利用率、显存、温度、功耗等 |
| Intel | 内置 intel_gpu_top(走 SYSFS) | C 编译器 + 读 SYSFS 的权限 | 利用率、功耗、核心频率 |
对应关系在代码里一目了然:NVIDIA/AMD 的采集集中在 src/linux/btop_collect.cpp 里动态加载 NVML、RSMI 符号,Intel 则由 src/linux/intel_gpu_top/ 这一套移植过来的工具负责,按引擎(engine)粒度统计占用。
两点提醒:
- AMD若发行版没有
rocm_smi_lib包,可用make RSMI_STATIC=true静态链接,但需要把 ROCm SMI 源码放进lib/rocm_smi_lib。 - Intel当前暴露的是利用率、功耗与频率三项,指标比前两家略少,属正常。
帧率掉到一半,先查哪里
把 btop 挂到旁边跑一局,用排除法定位瓶颈比盲猜快:
- GPU 利用率长时间顶满、帧率却上不去→ 算力是硬瓶颈,降特效或换卡
- 显存吃满、帧时间忽长忽短→ 爆显存导致的卡顿,常见于 4GB 以下小显存
- 温度撞墙、频率被限制→ 散热跟不上,曲线会周期性“掉坑”
- GPU 不高、CPU 先满→ 瓶颈其实在 CPU,调显卡参数没用
视频渲染(Blender、Premiere 之类)的看法定位类似:盯显存占用趋势,避免渲到一半 OOM;看温度曲线判断散热是否要升级;再对照 CPU 与 GPU 的曲线,确认两者是否都在干活、有没有一方空转。
把面板改成你的样子:配置与主题
进 btop 后按F2打开选项菜单,能调刷新间隔、要显示哪些 GPU 数值、曲线用哪种绘制方式;这些偏好会落盘到~/.config/btop/btop.conf,下次启动自动生效。
配色交给主题文件。themes/ 目录里预置了几十套,每个.theme文件用一组色键描述边框、文字和曲线的渐变,例如:
# themes/ 中的 .theme 文件(节选) theme[main_bg]="#1C1E26" theme[graph_text]="#f8f8f2" theme[temp_start]="#27D796" theme[temp_end]="#E95678"想让 GPU 面板的曲线更跳眼,直接改对应的*_start/*_end渐变色即可;想整体换风格就挑一套现成的。
GPU 不显示?按这张清单走
显卡面板没出来时,多半是下面某一项没满足,从上往下核对:
- 驱动和取数库在位吗?NVIDIA 跑一下
nvidia-smi确认;AMD 确认系统有rocm_smi_lib(或已静态链接)。 - 用的是源码编译版吗?预编译包不带 GPU 支持,且静态链接 glibc/musl 会让 NVIDIA/AMD 取数失效。
- Intel 用户执行过
make setcap(或make setuid)吗?没授权就读不到 SYSFS。 - 多卡时是不是只开了
5?按6、7把其它卡也调出来。 - 曲线变成乱码方块?是终端字体不支持盲文点字,换一套含 braille 字符的等宽字体即可。
下一步可以做什么
- 追特性与修复看 CHANGELOG.md,安装与编译细节以 README.md 为准
- 挑一套顺眼的主题丢进 themes/,按自己习惯微调渐变
- 需要更细的 GPU 引擎级数据,读 src/linux/intel_gpu_top/ 的实现
把 btop 常驻在一个终端窗口里,CPU、内存、网络、显卡的曲线同屏滚动——负载一有异动,你比任何图形工具都先看见。
【免费下载链接】btopA monitor of resources项目地址: https://gitcode.com/GitHub_Trending/bt/btop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考