线上出问题,最怕大脑空白不知道该敲什么。这份速查表整理了 20 个最常用的排查命令,每个只列核心用法,看一眼就能用。
系统状态
- • top/htop :实时查看 CPU、内存占用;
- • iostat -x 1:查看磁盘 IO 负载;
- • uptime:查看系统负载(1/5/15 分钟);
- • ps aux --sort=-%mem:按内存使用率降序排列进程(
-%mem: 倒序,+%mem: 正序); - • ps aux --sort=-%cpu:按CPU使用率降序排列进程(
-%cpu: 倒序,+%cpu: 正序)。
日志与文件
- • tail -f /var/log/message:实时跟踪日志(CentOS 6/7);
- • journalctl -n 100 -f:查看日志末尾 100 行,并实时跟踪日志(Rocky 8/9);
- • ls -lt | head -10:列出最近修改的 10 个文件;
- • grep "ERROR" app.log:搜索日志中的错误信息;
- • find / -type f -size +100M:查找大于 100MB 的文件。
网络排查
- • ping -c 3 domain.com:测试目标是否可达;
- • telnet 192.168.10.10 3306:测试目标端口是否通;
- • nslookup domain.com:查询域名解析结果;
- • traceroute domain.com:追踪数据包路由路径;
服务管理
- • lsof -i :8080:查看端口被哪个进程占用;
- • crontab -l:列出当前用户的定时任务;
- • systemctl status nginx:查看服务运行状态;
- • systemctl restart nginx:重启指定服务。
救急命令
- • sync && echo 3 | sudo tee /proc/sys/vm/drop_caches:释放缓存,瞬间腾出内存。
结语
命令是急救包,排查思路才是护身符。建议把这张表打印出来贴工位上,下次凌晨出问题,扫一眼就知道该敲什么。我们下期见。