资料储存

Linux 排查常用命令

2026-08-30

机器变慢或者服务起不来时,按 CPU、内存、磁盘、网络的顺序看一遍,大部分问题能定位到。

CPU 和负载

uptime            # 1 / 5 / 15 分钟平均负载
top               # 按 P 按 CPU 排序,按 M 按内存排序
ps aux --sort=-%cpu | head

负载长期高于 CPU 核数(nproc 可以看核数)说明任务在排队。负载高但 CPU 不忙,多半是在等磁盘 IO。

内存

free -h
dmesg -T | grep -i "killed process"   # 有没有进程被 OOM 杀掉

free 里要看 available 一列,buff/cache 是可以回收的,不算真被占用。

磁盘

df -h                     # 各分区用量
df -i                     # inode 用量,小文件太多时会先满
du -sh /var/log/* | sort -h
iostat -x 1               # 磁盘忙不忙,看 %util 和 await

删了大文件空间却没释放,通常是还有进程开着它:lsof | grep deleted,重启那个进程就好了。

端口和网络

ss -lntp                  # 哪些端口在监听、是哪个进程
ss -s                     # 连接数汇总
curl -v http://127.0.0.1:端口/   # 先在本机试,排除防火墙

服务日志

systemctl status 服务名
journalctl -u 服务名 -n 100 --no-pager
journalctl -u 服务名 -f   # 跟着看