☰
一文搞定 btop++:5 分钟看懂 CPU、内存和磁盘的性能瓶颈
2026/10/2 1:53:45 网站建设 项目流程

一文搞定 btop++:5 分钟看懂 CPU、内存和磁盘的性能瓶颈

【免费下载链接】btopA monitor of resources项目地址: https://gitcode.com/GitHub_Trending/bt/btop

btop++ 是一个 C++23 编写的终端资源监控工具,覆盖 Linux、macOS 和三大 BSD。它把 CPU、内存、磁盘 I/O、网络和 GPU 的实时数据画成滚动图表,配一个游戏式的菜单系统,让只会基本命令行的新手也能 5 秒定位性能瓶颈。

装好跑起来:三种安装方式从快到慢

方式一:包管理器(最快,推荐)

大多数发行版的软件源里都有 btop,一条命令搞定,不需要任何编译依赖:

# Debian / Ubuntu sudo apt install btop # Fedora / RHEL sudo dnf install btop # Arch sudo pacman -S btop # macOS brew install btop

方式二:源码编译(想要最新特性或 GPU 监控时用这个)

源码编译在 Linux x86_64 上默认开启 GPU 支持(对应 CMakeLists.txt 里的BTOP_GPU选项),装到当前用户目录不需要 sudo:

git clone https://gitcode.com/GitHub_Trending/bt/btop cd btop make # 编译,需要 GCC 14+ 或 Clang 19+ make install PREFIX=~/.local # 装到用户目录,免 sudo

方式三:官方预编译二进制

从发布页下载btop-版本号-x86_64-linux-musl.tbz解压后执行sudo make install即可。musl 静态编译的包在 2.6.39 以上的老内核上也能跑,适合环境较老的机器。

装完先跑一下验证,能显示版本号就说明装好了,再直接运行btop进入主界面:

btop --version btop

图注:btop++ 主界面,左列 CPU / 内存 / 网络图表,右列进程列表,选中进程后下方显示详细信息

它到底能干嘛:四个核心能力

资源图表 + 进程列表:CPU、内存、磁盘、网络一屏看完

场景:服务器突然变慢,但你不知道是 CPU 满了、内存不够,还是磁盘 I/O 卡住了。

  • CPU 盒子里逐核心显示使用率,还能看频率、温度,多核负载不均衡一眼就能发现
  • 磁盘盒子显示每个分区的读写速度和 I/O 占用
  • 网络盒子自动缩放纵轴,千兆跑满和百兆慢速都能清晰呈现
  • 鼠标全支持:点菜单、滚动进程列表都行,不强制背快捷键

进程树视图 + 信号操作:排查失控进程不用开第二终端

场景:一个 Java 服务 OOM 了,你需要先找到它、看清它的子进程,然后发信号杀掉。

  • 按t在扁平列表和树形视图之间切换,父子进程关系不用翻文档
  • 按/输入关键字筛选进程,p直接看选中进程的详细统计
  • 按k或s向选中进程发送 SIGKILL 或任意信号,全程不切出 btop++

图注:按 m 弹出的 btop++ 主菜单,切换主题、预设和排序都在这里

主题系统:30+ 套配色开箱即用

场景:你喜欢深色终端,但默认主题颜色太淡。

  • themes/ 目录内置 dracula、nord、tokyo-night、gruvbox 等 30 多套主题,按m打开主菜单即可切换
  • 主题文件是简单的.theme文本,自己写一个扔进~/.config/btop/themes/就能生效
  • 图表符号可选braille(分辨率最高)、block、tty(兼容性好),适配不同终端字体

全功能可配置:F2 选项菜单改完自动存盘

场景:你觉得刷新太快、图表太花哨,想调一调。

  • 按F2打开选项菜单,所有配置项都能在界面里改,改完自动写入~/.config/btop/btop.conf
  • 支持presets布局预设,最多存 9 套"显示哪些盒子、用什么符号"的组合
  • vim_keys = true开启后可以用h/j/k/l方向键操作列表

三个真实场景:从症状到定位只要几步

场景一:Web 服务响应慢,但 CPU 内存都正常

现象:高峰时段 Nginx 响应变慢,top里 CPU 只有 30%,看不出问题。

操作:1. 运行btop盯住磁盘盒子;2. 发现磁盘 I/O 长期打满,用/筛选php-fpm进程;3. 切树视图确认是日志写入导致的。

结果:调整日志级别和轮转策略后,磁盘 I/O 从 95% 回落到 10% 左右,响应时间恢复正常。


场景二:Java 服务内存持续增长

现象:内存使用率逐小时爬升,最终触发 OOM Killer。

操作:1. 按/筛出 java 进程,盯住 MEM 列;2. 开启进程树视图确认是同一棵进程树在涨;3. 记录 PID 后用p看线程数和详细统计。

结果:内存增长模式清晰可辨,配合 jstack 定位到泄漏线程,修复后内存曲线从持续上行变为平稳波动。


场景三:GPU 利用率低,训练任务跑不满

现象:深度学习训练速度低于预期,GPU 显存占了一半但利用率只有 30%。

操作:1. 源码编译带 GPU 支持的 btop++;2. 启动后 GPU 盒子与 CPU、内存图表同屏显示;3. 对比发现 CPU 使用率 90%,判断瓶颈在数据预处理。

结果:增加数据加载 worker 后 GPU 利用率提升到 80%,训练吞吐明显加快。

进阶调优:GPU 监控、快捷键和配置微调

GPU 监控开启方法

场景:想监控 NVIDIA / AMD / Intel 显卡的利用率和温度。

  • 前提:官方 NVIDIA 驱动 +nvidia-ml库,或 AMD 的rocm_smi_lib,Intel 核显需要 SYSFS 读权限
  • Linux x86_64 上make默认已启用 GPU 支持,要关掉才需要make GPU_SUPPORT=false

Intel 核显还需要给二进制文件加扩展权限,装完源码编译版后执行:

sudo make setcap # Intel GPU 监控和 CPU 功率读取需要

快捷键肌肉记忆

场景:每天用 btop++ 排障,想少按几次鼠标。

  • F1帮助菜单、F2选项菜单、m主菜单,三个入口记住就够
  • 进程操作高频键:/筛选、t树视图、k杀进程、s发信号、Esc返回
  • 完整键位随时按F1查看,不用翻文档

图注:btop++ 帮助菜单,列出全部快捷键与功能说明


配置文件微调(btop.conf)

场景:想让每次启动就是"少刷新、少盒子、暗色主题"的固定形态。

配置文件在~/.config/btop/btop.conf,首次运行自动生成,常用键位如下:

# ~/.config/btop/btop.conf 关键项 color_theme = "Dracula" # 主题名,对应 themes/ 里的文件 update_ms = 2000 # 刷新间隔,官方建议 2000ms+ graph_symbol = "block" # braille / block / tty 三选一 shown_boxes = "cpu mem proc" # 控制显示哪些监控盒 proc_tree = true # 启动即树形进程视图

更多命令行参数和细节见 manpage.md。

图注:btop++ 的 TTY 模式,16 色终端下依然完整可用

避坑指南:症状 → 修复

症状:图表里的点阵字符显示成方块或乱码 →修复:终端字体缺少点字(Braille)字符,换个支持该字符集的字体,或在配置里改graph_symbol = "block"。


症状:某些进程显示不到 CPU / 内存明细(/proc权限受限)→修复:源码编译版执行sudo make setcap,或直接sudo btop。


症状:GPU 盒子根本不出现 →修复:确认二进制是带 GPU 支持编译的(GPU_SUPPORT=true),并装好对应驱动库;静态链接 glibc/musl 的版本不支持 NVIDIA/AMD GPU 监控。


症状:Web 终端或 SSH 客户端里中文、宽字符错位 →修复:改用本地终端,或加-t参数强制 TTY 模式(btop -t),只用 16 色和安全字符。

收尾

btop++ 把"系统资源监控"这件需要翻命令的事,压缩成开一个窗口、看几块图表的事。现在就apt install btop(或brew install btop)跑起来,按F1把快捷键过一遍,下次服务器变慢你就能 5 秒内说出瓶颈在哪。🚀

【免费下载链接】btopA monitor of resources项目地址: https://gitcode.com/GitHub_Trending/bt/btop

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询