说真的,做开发的谁没在半夜被运维的电话叫起来过。告警群里一串红色叹号,你睡眼惺忪连上服务器,脑子却一片空白——该敲什么命令?
很多人一上来只会 tail -f 死命刷日志,刷到天亮也找不到问题。这篇不是鸡汤,是一份可以直接抄作业的"线上排查命令清单"。下面这 6 组命令,覆盖了 80% 的线上问题场景,建议收藏,等真出事的时候就不用再临时搜了。
线上出问题,第一反应肯定是看日志。但光会 tail -f 远远不够。
# 实时看日志,只看 ERROR 行
tail -f app.log | grep ERROR
# 看最近 500 行里,包含超时并且是支付服务的报错
tail -n 500 app.log | grep "timeout" | grep "payment"
# 统计今天每个接口的平均响应时间(第 N 列是耗时,按逗号分隔)
awk -F',' '/2026-07-11/ {sum[$1]+=$3; cnt[$1]++} END {for(k in sum) print k, sum[k]/cnt[k]}' access.log
核心思路就一句:先用 grep 把噪声过滤掉,再用 awk 做统计。别对着满屏日志肉眼找异常,计算机就是干这个的。
二、进程和端口:ps / top + lsof
服务起不来?大概率是端口被占了,或者进程假死。
# 看占用 8080 端口的到底是什么进程
lsof -i :8080
# 等价替代(CentOS 等没装 lsof 的环境)
ss -lntp | grep 8080
# 按 CPU 占用排序,看谁在偷吃资源
ps aux --sort=-%cpu | head -10
# 优雅停掉某个 jar 进程(先 SIGTERM,给个缓冲)
kill -15 $(pgrep -f "myapp.jar")
注意 kill -15 是优雅退出,给程序一个收尾的机会;实在杀不掉再用 kill -9。上来就 -9 容易把正在写的数据搞坏。
三、资源水位:free / df / du
接口变慢,不一定是代码的问题,可能是机器扛不住了。
# 内存占用,人类可读
free -h
# 磁盘还够不够,别等写满了才哭
df -h
# 找出当前目录下最占空间的 10 个文件夹
du -h --max-depth=1 | sort -rh | head -10
这套命令十万火急的场合特别有用:比如磁盘 100% 导致服务写不进日志,用 du 一查,往往是某个历史日志或容器层没清。
四、网络和接口:curl 是你的探针
服务"明明起来了"却访问不了,多半是网络或配置问题。
# 看一次请求到底卡在哪一步(DNS / 连接 / 传输)
curl -o /dev/null -s -w "dns:%{time_namelookup} connect:%{time_connect} total:%{time_total}\n" https://api.example.com/health
# 带超时,避免无限等待
curl --max-time 5 https://api.example.com/health
# 本地端口通不通
curl -s -o /dev/null -w "%{http_code}" http://127.0.0.1:8080/health
curl -w 看时间分段,是判断"慢在哪个环节"最快的办法。DNS 慢、握手慢还是后端慢,一眼分清。
五、把排查串成一条命令
单个命令会了,下一步是组合。比如"找出最耗 CPU 的 Java 线程,并定位到具体代码":
# 1. 找到 Java 进程 PID
pgrep -f "myapp.jar"
# 2. 看这个进程里最忙的线程(假设 PID 是 1234)
top -Hp 1234
# 3. 把线程 ID 转成 16 进制,去 jstack 快照里 grep
printf "%x\n" <线程ID>
jstack 1234 | grep -A 20 <16进制线程ID>
这一套下来,能从"服务器卡"精确到"是哪行代码在空转",比瞎猜高效十倍。
六、给自己攒个救命 alias
最后一条不命令,是习惯。把常用组合塞进 .bashrc 或 .zshrc:
alias plog="tail -f ~/app.log | grep ERROR"
alias pport="lsof -i"
alias mem="free -h && echo '---' && df -h"
真出事的时候,手不用过脑子就能敲出 plog,这才是半夜不慌的底气。
写在最后
命令行排查没有捷径,但有套路。上面这 6 组覆盖了日志、进程、资源、网络四个维度,平时在测试环境多练几次,等生产环境告警响起时,你就是那个 10 分钟定位问题的人。
工具是死的人是活的,把这些命令变成肌肉记忆,比囤一百篇收藏夹文章都管用。
本文由AI辅助创作,内容仅供参考。