下面这些工具,在特定场景下,能极大改善工作效率。
对付海量文件和日志
ripgrep(rg)
查找速度快,来自底层优势:
- Rust 实现 + SIMD 加速
- 自动跳过 .gitignore 标记的垃圾文件
- 多线程狂扫
- 正则前缀表优化
示例:
rg "OutOfMemoryError" /var/log/
#按语言过滤
rg "timeout" --type java系统优化类
fd —— find 语法的救赎
简化find命令冗长的参数配置
fd '*.log'
fd log | xargs grep "error"bat —— cat 的高颜值进化
特点:
- 自动语法高亮
- 自动分页
- Git diff 配色
- 可以换主题
less +F —— 实时日志查看的隐藏 Boss
less +F application.log
- 实时追踪
- 随时退出
- 想翻历史就翻
- / 搜索超丝滑
iotop —— 谁在往磁盘暴力输出?
线上系统突然卡住时,第一反应往往是:“是不是写磁盘了?”
iotop 一跑:
iotop哪个进程在疯狂刷 I/O,一秒立现。
再配合:
strace -p PID通常十分钟能锁定罪魁祸首。
dstat —— 把系统四大件一次性摊开
vmstat、iostat、netstat 虽然都好,但分开看信息太散。
dstat -cdnmCPU、磁盘、网络、内存一屏展示。 排查性能问题时能省一堆来回跳命令的时间。
pv —— 管道操作的“进度条神器”
压一个 40GB 的日志,你肯定体验过那种:
“它到底是卡住了,还是在努力?我怎么一点底都没有?”
pv 会给你一个心理安慰:
pv huge.log | gzip > huge.log.gz实时速度、耗时、剩余时间,全部告诉你。
ncdu —— 帮你抓出磁盘空间的黑洞
du 沉得住气,但速度慢。 ncdu 直接图形化展示文件大小,效果非常爽。
ncdu /你能瞬间看到哪些日志像吹气球一样膨胀。很多线上磁盘爆掉的问题就是靠它找出的。
网络问题侦探工具
nmap —— 检查端口开放情况的利器
扫服务器端口:
nmap -sV 10.0.0.12部署错误、端口冲突都能很快看出来。
tshark —— 无界面的 Wireshark
线上服务器没图形界面时,它就是唯一的抓包依靠。
tshark -i eth0 -f "port 8080"
想抽 HTTP 请求头:
tshark -Y "http.request" -T fields -e http.host -e http.user_agent适合查微妙的网络抖动或协议异常。
iperf3 —— 网络玄学问题的终结者
很多时候服务连接超时并不是代码问题,而是——链路抖了。
# 服务器:
iperf3 -s
#客户端:
iperf3 -c 10.0.0.12看到带宽从 1Gbps 掉到 50Mbps 的那一瞬间,我就知道不是程序锅,是交换机要加班了。
评论 (0)