
接口变慢却查不到异常如何用 btop 做一次 Linux 性能分析【免费下载链接】btopA monitor of resources项目地址: https://gitcode.com/GitHub_Trending/bt/btopbtop 是一款把 CPU、内存、磁盘、网络、GPU 和进程数据放在同一屏上的终端系统监控工具支持 Linux、macOS 和 BSD。如果你需要快速定位本机或服务器的性能瓶颈装上就能开查本文是一篇上手的 btop 教程。业务高峰接口变慢top 却查不到异常高峰期接口 P99 延迟翻倍你第一反应是打开 topCPU 30%、内存半满、负载平均值不高文本视图里没有明显异常。但机器明明有压力接口就是变慢了。这时缺的不是数据而是一眼看全的方式——需要同时看到 CPU、内存、磁盘、网络和进程列表几秒钟内判断出是哪个进程在吃哪类资源。btop 就是为此做的启动后默认把整机状态铺满一屏。btop 最快安装方式一分钟跑起监控界面Debian、Ubuntu 有官方包一条sudo apt install btop即可。想要 GPU 监控这类较新功能就从源码编译三条命令git clone https://gitcode.com/GitHub_Trending/bt/btop cd btop cmake -B build cmake --build build sudo cmake --install build进入界面后先记三个键q退出F1弹帮助窗口F2打开选项菜单其余操作用到再学。btop 日常监控的三个任务不罗列功能清单按你实际要做的三件事来讲找瓶颈、管进程、改界面。定位性能瓶颈先看哪里CPU、内存、磁盘、网络、GPU 的顺序别一上来就看全部按“资源从哪里缺”的顺序来。先看 CPU 框整体使用率曲线之外还有每个核心的使用率、频率、温度和负载平均值CPU 打满时先看分核行判断负载是否偏向少数核心。再看内存不要只看 Used盯 Available 和 swap 的变化swap 开始增长说明内存真的紧张了。接着是磁盘btop 把每个分区的读写速度和容量放在内存同一个框里按i键可切换成带大图的磁盘 IO 视图瓶颈是否卡在 IO 一眼可见。然后是网络接口上传下载曲线会自动缩放b或n切换接口。最后如果你有 NVIDIA 或 AMD 显卡GPU 监控怎么开编译时加上 GPU 支持的构建选项运行时按5显示 GPU 框就能看到显卡实时利用率。数字键1到5分别控制 CPU、内存、网络、进程、GPU 五个框的显隐按当前任务排版即可。进程监控技巧如何筛选、跟随问题进程并处理它右侧进程列表是核心。Up/Down选中进程Enter查看它的状态、常驻内存、线程数和父进程。列表几百条时按/进入筛选输入java这样的关键词后列表只剩匹配项以!开头则是正则Delete清空。要看父子关系时按e切到进程树视图结构立刻清楚。找到可疑进程后按F跟随它之后列表刷新它都停在最上面方便持续观察。要处理时t发 SIGTERMk发 SIGKILLs可以选择任意信号发出。界面定制怎么改主题、图表符号和模块显隐按F2进入选项菜单分 general、cpu、mem、net、proc 几个页签改动即时生效。主题color_theme直接在菜单里选仓库 themes/ 目录里自带 40 多个预设自己写的.theme文件放进~/.config/btop/themes也能被识别。图表样式graph_symbol有 braille、block、tty 三档默认 braille 最细密16 色旧终端下换 tty 更稳。模块显隐就是前面说的1到5数字键不用进菜单。一次完整排障实战从一次接口变慢找到内存泄漏 现象某 Java 服务高峰期 P99 翻倍CPU 平静但 btop 里系统 Available 每十分钟掉约 200MB一个 java 进程的常驻内存阶梯式上涨。缩小范围按/输入java筛选列表只剩相关进程按F跟随主进程十分钟内它的 Mem 列从 1.2GB 涨到 1.8GB其余进程平稳。确认按e看进程树确认增长都发生在主进程而非子进程Enter看详情线程 180、常驻内存仍在爬符合内存泄漏特征。解决导出堆栈定位到一个无界本地缓存加 TTL 后重启服务保持F跟随内存曲线两小时走平P99 随之回落。全程只用了筛选、跟随、进程树三个动作这就是 btop 做 Linux 性能分析的主线。常见坑与快速修复图表字符变方块或断行把btop.conf里的graph_symbol改成block或启动时加--force-utf16 色旧终端用-t强制 tty 模式效果如下。GPU 框是空的或没有温度GPU 监控需要编译时启用 GPU 支持并装好厂商库如 NVIDIA 的 nvidia-ml个别系统读取权限不足先sudo跑一次试试。btop 自身占 CPU 偏高按把刷新间隔加 100ms或在btop.conf里把update_ms设到 2000 以上官方默认就是 2000ms间隔大一点曲线也更平滑。想再深入的话btop --default-config会打印完整默认配置存为~/.config/btop/btop.conf按口味改每一项的含义在 src/btop_config.cpp 里都有注释命令行参数查 manpage.md。下次机器不对劲时先把它打开看一眼曲线不会说谎。⚙️【免费下载链接】btopA monitor of resources项目地址: https://gitcode.com/GitHub_Trending/bt/btop创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考