☰
用 btop++ 快速搞定系统监控:从告警到定位的完全实操手册
2026/10/2 2:18:49 网站建设 项目流程

用 btop++ 快速搞定系统监控:从告警到定位的完全实操手册

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

凌晨两点告警群炸了:一台生产机响应变慢。你 SSH 上去打开top,满屏滚动数字却找不到元凶。btop++ 是一个跑在终端里的系统监控工具,CPU、内存、磁盘、网络、进程一页看全,适合需要在服务器上快速定位性能问题的开发者和运维。

先跑起来:包管理器安装与首次启动

最省事的走法是包管理器,一条命令装好,装完直接敲btop进主界面:

sudo apt install btop btop

上面以 Ubuntu/Debian 为例,Fedora 换成sudo dnf install btop,macOS 用brew install btop。

第一屏被分成四块:上方是 CPU 历史曲线,右侧列出每个核心的占用、频率、温度和负载平均值;左下是内存与磁盘分区的使用率;右下是网络接口上下行曲线;右边整列是进程列表,选中某个进程后,中间会弹出它的状态、常驻内存、IO 读写和父进程详情:

接下来你可以用它做三件事:盯住每个 CPU 核心、揪出吃内存的进程、切到 GPU 面板。下面按使用频率带你看一遍。

核心能力拆解:最常用的四个操作

盯住每个 CPU 核心

总体占用看着不高,但其实是某个核在满负荷?上方区域把 C0 到 C7 每个核心的占用、频率、温度单独列出,配合右下角的 Load AVG 和核心数对比,基本能判断是计算过载还是单核任务打满。按1可随时显示/隐藏 CPU 面板;进程列表里按c切换每核 CPU 视图,能看到每个进程落在哪些核上。小提示:load 明显高于核心数多半是计算型瓶颈,只有个别核满载而 load 正常,则怀疑单线程任务。

揪出吃内存的进程

几百个进程混在一起,肉眼找谁在吃内存不现实。按f或/进入过滤框,输入关键字(比如python)立刻收窄范围;用左右方向键切换排序列(PID、进程名、CPU、MemB 等),r反转排序方向。选中进程后按Enter,中间区域直接显示它的状态、常驻内存、IO 和父进程。小提示:过滤关键字以!开头会按正则匹配,适合批量排除 worker 类进程。

切换进程树视图并跟随可疑进程

扁平列表看不出进程是谁拉起来的。按e切换到树形视图,父子关系一目了然;Space展开/折叠选中节点,C展开/折叠它的子进程,E全部折叠或展开。更实用的是按F跟随选中进程——它掉出视野后依然保持高亮,适合盯一个反复出现又转瞬即逝的进程。小提示:配合u暂停进程列表,可以冻结画面慢慢检查。

切到 GPU 面板

跑训练任务或渲染任务时,光看 CPU 内存不够。按5显示第一块 GPU 的面板,6、7依次是第二、三块,面板里给出利用率、显存、功耗和频率。官方预编译二进制没有编译 GPU 支持,如果你的包按 5 没反应,需要源码重编,后文踩坑部分有命令。

一个完整排障流程:生产机突然变慢,5 分钟定位元凶

场景:一台生产机响应明显变慢,你要在五分钟里告诉开发同学该查哪个服务。

  1. btop 启动先看 CPU 盒:总体占用高不高?右下角 load 是否超过核心数?占用高且 load 高是计算过载;占用不高但 load 高,多半在等 IO。
  2. 进程列表切到按 CPU 排序(右方向键),看前三名;如果元凶是明显的常驻服务,直接跳到第 4 步。
  3. 过滤收窄:按f输入进程名片段;怀疑内存问题时按%切换列表的内存显示模式,从内存维度再看一遍。
  4. 按 e 切树形视图看完整调用链:如果父进程是某个 worker 池,瓶颈大概率在这个服务内部。按F跟随它,列表滚动时它始终高亮,方便观察趋势。
  5. 对元凶按 Enter 看详情:状态、常驻内存、IO 读写、父进程都在这。确认是卡死的进程后,t发 SIGTERM,k发 SIGKILL,s可以发送任意信号。

如果到这里还没定位:按d把内存盒切到磁盘视图,看各块盘的读写速度——某块盘长期打满说明瓶颈在存储层,而不是某个进程本身;网络侧则用b/n切换接口看上下行曲线。


进阶配置与个性化:改 4 个最实用的配置项

这些选项都可以直接在F2打开的选项菜单里点选并保存;改~/.config/btop/btop.conf文件也一样,程序内按Ctrl+R重新加载即可,不用重启:

update_ms:刷新间隔。默认 2000ms 是官方推荐值,采样质量更好;进程特别多觉得 btop 自身有开销时调大:

update_ms = 3000

运行时用+/-也能以 100ms 步进微调。

graph_symbol:图表符号。braille 曲线最细腻,block 兼容性更好,tty 面向纯文本终端:

graph_symbol = block

改成 tty 会自动切到 16 色方案,适合 SSH 到配置较老的生产机上。

color_theme:颜色主题。内置四五十个主题,全部文件在 主题目录 里,名字就是文件名去掉后缀:

color_theme = dracula

自定义主题放到~/.config/btop/themes/下即可被识别。

show_swap:内存盒是否显示交换空间。服务器没配 swap 或不想看它时关掉,内存盒更聚焦:

show_swap = False

踩坑速查:高频问题对照

图表里出现方框、字符错位—— 终端字体缺 braille 字符,是字体问题不是 btop 的 bug。最直接的解法是强制 TTY 模式,16 色加纯文本符号,兼容性最好:

btop -t

启动直接报错 No UTF-8 locale—— 环境里没配 UTF-8 locale。确定终端能渲染的话,强制启动:

btop --force-utf

看不到别人的进程、发送信号被拒—— 权限不足。最快是直接用 root 跑;源码安装的用户再执行sudo make setcap设置扩展权限,之后不用 sudo 也能给任意进程发信号,Intel GPU 和 CPU 功耗监控同样依赖这一步:

sudo btop

按 5 没反应,GPU 面板出不来—— 这个二进制没编译 GPU 支持,官方预编译包不带。需要就源码重编,x86_64 Linux 上 GPU 默认启用:

git clone https://gitcode.com/GitHub_Trending/bt/btop cd btop && make GPU_SUPPORT=true

其余命令行参数(预设、过滤、刷新率等)都能在 manpage.md 里查到。

现在回到凌晨那台变慢的机器:btop 一开,谁在空转、谁在吃内存、卡在哪块盘上,一眼就有数。下次告警,你不用再和满屏滚动的 top 对眼了 🚀

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

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

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

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

立即咨询