先明确问题现象和影响范围,再检查系统资源水位,接着定位异常进程和服务状态,最后排查网络与依赖链路,四步可快速定位80%常见故障。

线上Linux服务出问题,别急着重启或查日志大海捞针。先按顺序快速过一遍关键检查点,80%的常见故障(如服务不可用、响应慢、连接超时、进程异常)都能在5分钟内定位到根因。
一、确认问题现象和影响范围
明确“到底哪里不对”是排查的第一步。避免一上来就敲命令,浪费时间在无关方向。
- 是整个服务不可访问,还是部分接口/用户报错?用curl -I 或 telnet IP 端口快速验证连通性和基础响应
- 错误是502/503(反向代理层问题),还是超时(网络或后端卡死),或是4xx(业务逻辑或配置问题)?看客户端返回或Nginx/Apache访问日志首段
- 是否刚发布、改配置、升内核、加监控Agent?时间线对齐能直接缩小怀疑对象
二、检查系统资源水位(CPU、内存、磁盘、IO)
资源耗尽是最常见的“假死”原因,优先用轻量命令秒级判断:
- top / htop:看CPU使用率是否持续100%,哪个进程占高;注意看load average(尤其1分钟值),若远超CPU核心数,说明有大量任务排队
- free -h:重点看available列,不是free;若available接近0且swap在频繁使用(si/so不为0),大概率OOM Killer已杀进程或服务被卡住
- df -h && df -i:磁盘满(尤其是/var/log、/tmp)会导致写入失败、服务拒绝请求;inode耗尽也会让新建文件失败(如Java应用无法生成临时jar)
- iostat -x 1 3(需sysstat):看%util是否长期100%,await是否飙升——说明磁盘IO瓶颈,可能是日志刷盘、数据库大查询或存储异常
三、定位异常进程和服务状态
资源正常?那就聚焦具体服务本身:
标签: mysql linux java redis node apache nginx 防火墙 端口 后端 curl 栈 ai
还木有评论哦,快来抢沙发吧~