btop:在终端快速上手 NVIDIA/AMD/Intel 显卡性能监控
【免费下载链接】btopA monitor of resources项目地址: https://gitcode.com/GitHub_Trending/bt/btop
游戏掉帧、渲染卡顿,瓶颈到底在 CPU 还是 GPU?用 btop 做终端显卡监控可以直接看到答案:GPU 利用率曲线、显存占用、温度和功耗在同一屏刷新,不必再装额外的驱动套件。btop 是一个用 C++ 写的轻量资源监控工具,其 GPU 监控支持 Linux 下的 NVIDIA、AMD、Intel 显卡,macOS 上支持 Apple Silicon 核显。
从安装到跑起来的完整过程
编译需要 GCC 14+ 或 Clang 19+,x86_64 Linux 下 GPU 支持默认开启,无需额外参数:
git clone https://gitcode.com/GitHub_Trending/bt/btop # 克隆仓库 cd btop # 进入项目目录 make # 编译,GPU 支持默认开启 sudo make install # 安装到 /usr/local sudo make setcap # 授予 Intel GPU 与 CPU 功耗数据所需权限两个编译参数值得知道,其余保持默认即可:
| 参数 | 作用 |
|---|---|
GPU_SUPPORT | GPU 监控开关,x86_64 Linux 默认true,显式传false才会关闭 |
RSMI_STATIC=true | 系统没有 rocm_smi_lib 包时,静态编译 ROCm SMI 库以支持 AMD 卡 |
验证:运行btop,按5显示第一张显卡面板,6、7依次显示后续卡,0关闭。面板出现且数值在刷新,即说明链路正常。
能力边界:btop 显卡监控能看什么、看不了什么
- NVIDIA:走 NVML(
libnvidia-ml.so,随官方驱动提供),可显示利用率、显存、温度、功耗、频率等; - AMD:依赖 ROCm SMI 库(
rocm_smi_lib),显示利用率、显存、温度、频率、PCIe 流量; - Intel:基于仓库内置的
src/linux/intel_gpu_top/模块读取性能计数器,v1.4.0 起可监控 GPU 利用率、功耗与频率,需要读 SYSFS 的权限(make setcap)。
看不了的部分:btop 不输出逐引擎、逐 CUDA core 的细分数据,也不做每帧耗时分析。某张卡始终无数据时,先检查对应接口是否可用(nvidia-smi或rocm-smi),再看日志~/.local/state/btop.log与 README.md 中的 GPU compatibility 一节。
按场景使用:定位瓶颈与盯住资源
定位游戏掉帧瓶颈
- 看什么:GPU 利用率曲线 + 显存占用 + 进程列表中游戏的 CPU 占用;
- 代表什么:GPU 长期贴近 100% 而帧率上不去,是显卡算力见顶;显存逼近上限则可能触发卡顿或掉驱动;GPU 只有三四十而帧率不稳,多半卡在 CPU 单核或 IO;
- 接下来做什么:对照上表下结论。显卡不足就降分辨率或画质;显存吃紧就降纹理档位;CPU 瓶颈则检查后台进程和游戏设置。
盯住渲染任务的资源占用
- 看什么:温度、功耗、频率曲线,以及 CPU 面板与 GPU 面板的走势是否此消彼长;
- 代表什么:温度或功耗触顶后频率回落,说明散热限制了持续性能;CPU 与 GPU 同时满载且显存持续增长,要警惕显存耗尽导致任务失败;
- 接下来做什么:先改善散热或下调并发任务数,再决定是否需要换更大显存的卡。
多显卡环境
- 看什么:各卡面板的利用率与显存,
5/6/7逐卡切换显示,0关闭; - 代表什么:一张卡满载、另一张闲置,通常是没有把任务分派到第二块卡;
- 接下来做什么:用厂商工具(如 CUDA 设备选择)把负载迁到空闲卡,再回 btop 确认两卡曲线是否均衡。
配置与主题一次讲清
配置位于~/.config/btop/btop.conf,所有项都能在主界面 F2 菜单里改,与手写文件等效。与显卡监控相关的几个关键项:
update_ms = 2000 # 刷新间隔,官方建议 2000ms 起 shown_boxes = "cpu proc gpu0" # 固定显示的框,gpu0 到 gpu5 对应各卡 show_gpu_info = "Auto" # 是否在 CPU 框内附带 GPU 摘要 graph_symbol = "braille" # 曲线样式:braille / block / tty主题文件是theme[键名]=颜色的简单格式,仓库自带 themes/ 目录共三十余种;自定主题放~/.config/btop/themes/。GPU 相关键名(如theme[gpu_color])用于调整显卡区域的文字与曲线颜色,照抄一个现成主题再改色即可。
避坑清单
- 现象:按
5没有 GPU 面板。原因:发行版预编译包多为静态链接,GPU 支持失效,或未装官方驱动。解决:按上文从源码编译并安装,确认驱动就位。 - 现象:AMD 卡有利用率、缺功耗或 PCIe 数据。原因:系统没有
rocm_smi_lib。解决:装发行版对应包,或克隆源码后用make RSMI_STATIC=true。 - 现象:Intel 核显完全无数据。原因:读取 SYSFS 计数器权限不足。解决:
sudo make setcap,或临时用sudo btop。 - 现象:自己编译的静态版看不到 GPU。原因:静态链接无法加载 GPU 动态库,属已知限制。解决:改用非静态编译(默认行为)。
btop 的定位是一个单文件启动、无 GUI 依赖的终端资源监控器,显卡监控只是其中一个可编译开启的模块。源码获取:
git clone https://gitcode.com/GitHub_Trending/bt/btop【免费下载链接】btopA monitor of resources项目地址: https://gitcode.com/GitHub_Trending/bt/btop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考