btop:5分钟上手这套终端系统资源监控工具
【免费下载链接】btopA monitor of resources项目地址: https://gitcode.com/GitHub_Trending/bt/btop
btop 是一个跑在终端里的 C++ 系统资源监控工具,CPU、内存、磁盘、网络、GPU 的实时数据全部画成图表,一眼看清系统卡在哪。它是 bashtop 和 bpytop 的 C++ 重写版,覆盖 Linux、macOS 和 FreeBSD / NetBSD / OpenBSD。写代码、调服务、盯训练任务的人,值得把它放在手边。
用包管理器装好 btop,三步完成首次配置
发行版源里就有现成的,优先走这条路:
sudo apt install btop # Ubuntu / Debian sudo dnf install btop # Fedora / RHEL 8+(先装 epel-release) brew install btop # macOS,x86_64 和 ARM64 都有只有两种情况值得自己编译:要 GPU 监控(部分发行版包没带),或要最新特性。x86_64 Linux 上自编译默认开启 GPU 支持,编译器要求 GCC 14 或 Clang 19 以上:
git clone https://gitcode.com/GitHub_Trending/bt/btop cd btop && make && sudo make install装完可选再做一步sudo make setcap:给二进制加扩展权限。Intel 核显监控、CPU 功耗瓦数、向任意进程发信号,都依赖它。macOS 上对应的是sudo gmake setuid。
启动之后,两个入口能解决 90% 的问题:F1(或?)看完整键位表,F2进选项菜单。鼠标滚轮在进程列表和菜单里都直接可用。
读懂 btop 主界面:四个框各回答什么问题
从上往下分四块:
- CPU 区(左上):整体使用率历史曲线 + 逐核条形图,回答"哪个核在发热"。频率、温度、单核占用直接可读,右上角还有开机时长和 CPU 功耗(瓦数,依赖 setcap)。负载不均在这块直接暴露。
- 内存区(左中):物理内存加 swap,紧张时颜色向红端移动。按
d切到磁盘视图,逐个挂载点看容量、读写速度和 I/O 忙碌度。 - 网络区(左下):上下行带宽曲线,默认自动缩放,最低到 10 KiB 也能看清。多网口按
b切换设备。 - 进程列表(右侧):默认按 CPU 排序。
↑↓选中、Enter展开详情(完整命令行、线程数、打开文件数),左右方向键换排序列。
完整的快捷键表在F1的帮助菜单里,第一次用建议扫一遍:
打通 btop GPU 监控的三个前提
GPU 打不开时,先排三关:
- 二进制本身:必须带 GPU 支持编译。部分发行版包没带;自编译在 x86_64 Linux 上默认开启。
- 驱动库到位:NVIDIA 用官方驱动(闭源或开源内核模块均可),
nvidia-ml动态库一般随驱动包自带;AMD 需要rocm_smi_lib,发行版没有包时用RSMI_STATIC=true静态链接编译;Intel 核显能读 SYSFS 即可,普通用户需要sudo make setcap授权。 - 一个容易忽略的坑:静态链接(
STATIC=true)的二进制加载不了动态 GPU 库,GPU 监控直接失效,两者不可兼得。
三关都过了,按5/6/7依次显示 GPU 1 / 2 / 3 的框,出现在主界面上方。不想占独立框位,可以在选项菜单的 cpu 分类里把 GPU 占用 / 功耗 / 频率曲线内嵌进 CPU 框,更紧凑。macOS 上 Apple Silicon GPU 同样支持;三大 BSD 平台没有 GPU 监控。
抓住吃资源的进程:过滤、跟随、处置
四个动作按顺序来:
- 过滤:按
f(或/)输入关键字,列表只剩匹配的进程;!开头可以用正则。命令行也能一步到位:btop -f "php-fpm"启动就带上过滤条件。 - 看结构:按
e切进程树视图,父子关系一目了然;浏览器、服务管理器这类多进程应用,用 Spacebar 展开或折叠子进程。 - 盯住它:选中进程按
F进跟随模式,列表滚动时始终锁定高亮它;按u暂停列表刷新,方便截图或细看某一瞬间。 - 动手:
t发 SIGTERM 优雅退出,k发 SIGKILL 强杀,s指定任意信号,N调 nice 值。Enter的详情面板里能核对完整命令行再下手。
实战里这套流程是这样的:Web 高峰变慢,但 CPU 内存都"正常"。按d切磁盘视图,发现某块盘的写带宽长期打满;回到进程列表按f过滤php-fpm,再按e看进程树,确认是十几个子进程在疯狂写日志。调整日志级别加轮转策略后,I/O 曲线回落,响应恢复。整个过程 btop 只干了两件事:证明瓶颈在磁盘,再锁定具体进程。
把 btop 界面调成自己的样子
F2选项菜单里所有配置项都能改,改完自动写回~/.config/btop/btop.conf,不用手编辑文件:
- 主题:内置 Default 和 TTY 两档;仓库 themes/ 目录自带 41 套(dracula、tokyo-night、gruvbox、nord 都有),和 bpytop、bashtop 的主题文件通用。自己写的主题放
~/.config/btop/themes就能被识别。 - 图表符号:
braille分辨率最高但挑字体,block折中,tty只用 3 种字符、兼容最好,适合 SSH 直连的纯 TTY 环境。 - 更新间隔:
update_ms默认 2000ms,官方建议不低于这个值;运行时按+/-每次调 100ms,按住连按会加速。 - 布局预设:按
p循环切换,最多存 9 组;shown_boxes决定显示哪些框(cpu / mem / net / proc 加 gpu0~gpu5),关掉不看的模块能直接降低 btop 自身开销。
btop 常见坑位排查:一次对照解决
| 症状 | 处理 |
|---|---|
| 图表显示成方块、错位 | 终端字体缺 Braille 字符(U+2800–U+28FF),换字体,或把graph_symbol改成block/tty |
| 纯 TTY 下显示差 | 命令行加-t强制 TTY 模式,自动切 16 色和 tty 符号;-l可降到 256 色 |
| 看不到他人进程详情 / 发信号失败 | sudo make setcap(macOS 用sudo gmake setuid),或临时sudo btop |
| btop 自身占 CPU 偏高 | 调大update_ms,或在shown_boxes里关掉不看的模块 |
| Konsole / Yakuake 文本错位 | 关掉终端的 "Bi-Directional text rendering" |
平台层面,Linux 功能最完整(NVIDIA / AMD / Intel GPU 全支持);macOS 支持 Apple Silicon GPU,编译依赖可用 Homebrew 装好;三大 BSD 有基础监控、进程和网络,但没有 GPU 监控。更多细节见 manpage.md 和 README 的 Prerequisites 一节。
装好之后先做两件事:按F2把主题和update_ms调到舒服,再按F1把键位表过一遍。下次系统变慢时,打开 btop,按d看一眼磁盘,按e看一眼进程树——瓶颈大多藏在这两处。
【免费下载链接】btopA monitor of resources项目地址: https://gitcode.com/GitHub_Trending/bt/btop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考