日常运维工作中,各类故障层出不穷,快速定位问题、高效完成修复,是运维人员必备的核心能力。本文结合十多年一线运维实战经验,整理 48 个常见故障排查与修复技巧,希望能帮大家提升排障效率、轻松应对日常运维问题。

一、系统层面故障排查
1. 系统日志排查
排查技巧:优先通过journalctl命令查看系统、服务运行日志,同时核对/var/log目录下各类业务日志、系统日志,捕捉故障报错、异常记录,定位问题根源。
修复方案:根据日志报错信息,修正对应服务配置、解决依赖异常,完成配置修正后重启对应服务,验证运行状态。
2. 服务器高负载排查
排查技巧:通过top、htop实时监控服务器CPU、内存、磁盘I/O占用情况,精准定位占用资源过高的进程,区分瞬时高负载与持续高负载。
修复方案:对异常高耗资源进程进行限流、降优先级处理,终止无用冗余进程;长期高负载则优化业务程序、升级服务器硬件资源。
3. 内存泄漏排查
排查技巧:使用free、vmstat命令监控整机内存、缓存、空闲内存变化,持续观察内存占用递增趋势;通过valgrind工具检测程序进程内存占用,定位内存泄漏代码段。
修复方案:临时解决方案为重启异常进程释放内存;彻底解决需优化程序代码,修复内存未回收、循环占用等泄漏问题。
4. 磁盘空间不足故障
排查技巧:通过df -h查看各磁盘分区使用率、剩余空间,确认爆满分区;使用du -sh /* 逐层排查目录,精准定位大文件、冗余日志、垃圾缓存文件。
修复方案:清理无用日志、过期备份、临时缓存文件;对业务必要文件进行归档压缩;磁盘空间长期不足则扩容磁盘分区或新增存储。
5. 服务无法启动故障
排查技巧:通过systemctl status 服务名查看服务运行状态、启动失败原因,结合服务专属日志、系统日志排查配置错误、依赖缺失、端口异常等问题。
修复方案:修正配置文件语法错误、补齐服务依赖组件、解决端口冲突问题,重新加载配置并重启服务,验证自启状态。
6. 内核参数优化调优
排查技巧:通过sysctl -a查看当前系统所有内核参数,对比业务适配标准,排查TCP连接、缓冲区、文件句柄、最大进程数等参数不合理问题。
修复方案:按需调整TCP读写缓冲区、最大并发连接数、文件句柄上限等核心参数,生效后优化系统并发处理能力、网络传输性能。
7. 进程异常崩溃排查
排查技巧:通过dmesg命令查看内核报错日志,结合系统日志,排查进程崩溃是否由资源耗尽、内核异常、程序BUG、权限不足等原因导致。
修复方案:解决内存、CPU、磁盘资源瓶颈,修复程序代码异常,补齐运行权限,重启进程并持续监控运行稳定性。
8. CPU性能瓶颈排查
排查技巧:使用mpstat查看CPU各核心占用情况,通过sar命令统计时段内CPU负载、使用率、空闲率,定位持续高占用、单核满载问题。
修复方案:优化业务程序低效代码、重构高耗CPU逻辑;调整负载均衡策略分流压力;硬件层面增加CPU核心数、升级处理器。
9. 文件系统异常修复
排查技巧:服务器出现磁盘读写报错、分区挂载异常、文件丢失等问题时,通过fsck工具检测文件系统损坏、扇区异常、索引错误等问题。
修复方案:进入单用户模式或开机自动检测,通过fsck修复文件系统损坏节点与逻辑错误,修复后重启服务器验证分区读写正常。
10. Swap内存交换过高排查
排查技巧:通过vmstat实时查看Swap分区的读写、占用状态,确认是否因物理内存不足导致大量内存交换,引发系统卡顿。
修复方案:临时清空Swap释放空间,调整系统swappiness参数降低Swap使用优先级;长期解决方案为扩容物理内存,减少内存交换依赖。
二、网络层面故障排查
1. 网络连通性异常排查
排查技巧:通过ping测试跨主机、外网连通性,通过traceroute追踪数据包路由节点,定位丢包、超时、路由跳转异常节点。
修复方案:修正服务器IP、网关、DNS配置,检查交换机、路由器路由策略,放行防火墙拦截规则,恢复网络互通。
2. 端口占用冲突故障
排查技巧:使用netstat -tulpn、ss -tulpn命令查看系统所有端口监听状态,精准定位占用目标端口的进程PID与程序。
修复方案:终止无用的端口占用进程,或修改业务服务的监听端口,避免端口冲突,重启服务恢复监听。
3. 防火墙拦截故障
排查技巧:根据系统环境,通过iptables、firewalld查看当前防火墙放行、拒绝规则,排查端口、IP、协议被拦截问题。
修复方案:按需放行业务所需端口、IP段,删除冗余、错误拦截规则,设置防火墙默认策略,保证业务正常通行。
4. DNS解析异常故障
排查技巧:通过nslookup、dig命令测试域名解析结果,查看解析超时、解析错误、解析延迟等问题,核对DNS服务器地址有效性。
修复方案:修改/etc/resolv.conf本地DNS配置,更换公共DNS或企业内网DNS服务器,刷新DNS缓存后重新解析测试。
5. 网络拥塞卡顿排查
排查技巧:通过iftop实时查看各网卡流量占用、终端流量排行,通过nload监控整体带宽吞吐,定位大流量抢占带宽的任务或终端。
修复方案:对大流量下载、同步任务进行限流、错峰执行,优化内网网络拓扑,升级出口带宽,缓解网络拥塞。
6. TCP连接超时故障
排查技巧:通过netstat、ss统计TCP连接状态,排查大量TIME_WAIT、CLOSE_WAIT异常连接,定位连接堆积、释放不及时问题。
修复方案:调整TCP超时回收、复用内核参数,优化业务连接池配置,缩短无效连接回收时间,避免连接耗尽导致超时。
7. 带宽占用过高排查
排查技巧:使用iftop精准监控网卡实时流量,识别高带宽占用进程、用户或业务接口,区分正常业务流量与异常攻击流量。
修复方案:对非核心大流量任务限速,封禁异常恶意流量,优化带宽分配策略,保障核心业务带宽优先使用。
8. ARP地址冲突故障
排查技巧:通过arp -a查看设备ARP映射表,发现同一IP对应多个MAC地址、ARP报错,即可判定存在IP地址冲突。
修复方案:排查内网设备IP分配情况,修改冲突设备IP,统一静态IP配置,避免动态IP分配混乱导致的冲突问题。
9. MTU不匹配网络故障
排查技巧:通过ping -M do -s 数据包大小测试网络最大传输单元,排查因终端与交换机、路由器MTU不一致导致的数据包分片、丢包问题。
修复方案:统一全网设备MTU参数(常规以太网默认1500),调整服务器网卡MTU配置,匹配网络设备参数,解决分片丢包。
10. SSL证书异常故障
排查技巧:通过openssl工具检测SSL证书有效期、签名算法、域名匹配性、信任链完整性,排查证书过期、不匹配、吊销等问题。
修复方案:证书过期或失效则重新申请、部署新证书,修正证书域名不匹配问题,配置证书自动续期策略。
三、应用层面故障排查
1. 应用服务宕机故障
排查技巧:查看应用运行日志、报错日志,梳理宕机前的接口请求、程序运行记录,结合系统资源状态,定位宕机诱因。
修复方案:修复程序代码BUG、优化服务运行配置,增加服务守护进程、重启自愈机制,避免单点宕机,保障服务稳定运行。
2. 高并发场景性能瓶颈
排查技巧:通过netstat统计应用并发连接数,结合sar监控服务器资源负载,排查高并发下连接堆积、响应缓慢、服务卡顿问题。
修复方案:新增负载均衡节点分流请求,优化应用接口逻辑、精简冗余代码,优化数据库查询,提升服务并发承载能力。
3. 应用程序死锁排查
排查技巧:通过strace跟踪程序系统调用,使用gdb调试运行进程,定位线程死锁、资源抢占僵持的代码节点与逻辑。
修复方案:重构并发业务逻辑,优化线程锁、资源抢占机制,避免多线程同时争抢同一资源,彻底解决死锁问题。
4. 应用启动缓慢故障
排查技巧:通过strace全程跟踪应用启动过程,统计各阶段系统调用耗时,定位配置加载、依赖拉起、资源初始化等耗时瓶颈。
修复方案:精简启动冗余加载项,优化依赖加载顺序,延迟非核心组件初始化,大幅缩短应用启动耗时。
5. 应用日志文件过大问题
排查技巧:定期核查应用日志磁盘占用,检查日志是否无限制输出、未轮转归档,排查日志级别过高、冗余日志打印问题。
修复方案:配置logrotate日志轮转策略,实现日志自动分割、压缩、过期删除;调整应用日志级别,关闭冗余调试日志。
6. 应用端口冲突故障
排查技巧:通过lsof -i:端口号、netstat精准查询目标端口占用进程,确认是否被其他应用、系统服务抢占。
修复方案:停止占用端口的无关进程,或修改当前应用的监听端口,重启应用确保正常监听服务。
7. 应用连接池耗尽故障
排查技巧:查看应用报错日志,捕捉"连接池耗尽""无可用连接"等异常信息,排查连接未释放、连接数配置过低问题。
修复方案:调高连接池最大连接数、优化连接超时回收时间,优化业务代码,避免连接长期占用不释放。
8. 应用配置错误故障
排查技巧:逐一核对应用配置文件参数,检查端口、路径、权限、关联服务地址等参数是否存在填写错误、格式异常。
修复方案:修正错误配置参数,校验配置文件语法完整性,重新加载配置或重启应用,验证功能正常。
9. 应用响应超时故障
排查技巧:通过curl、ab压力测试工具模拟请求,检测应用接口响应耗时,定位接口卡顿、数据库查询缓慢导致的超时问题。
修复方案:适当调高应用接口超时阈值,优化数据库慢查询、接口逻辑,缩短请求处理耗时,解决响应超时问题。
10. 依赖服务不可用故障
排查技巧:通过curl、telnet测试下游依赖服务、第三方接口的连通性与可用性,排查依赖服务宕机、端口不通、接口报错问题。
修复方案:重启异常依赖服务、修复依赖服务故障,配置服务熔断、降级策略,避免单一依赖故障导致核心业务瘫痪。
四、数据库层面故障排查
1. 数据库连接失败
排查技巧:核对数据库端口监听状态、服务器网络连通性,排查数据库账号权限、IP白名单、密码有效性,定位连接失败原因。
修复方案:放行数据库端口防火墙规则,添加客户端IP白名单,修正账号权限、重置异常密码,重启数据库服务恢复连接。
2. 数据库慢查询问题
排查技巧:开启数据库慢查询日志,通过EXPLAIN分析SQL执行计划,排查无索引、全表扫描、关联查询冗余等低效SQL。
修复方案:优化SQL语句逻辑,为高频查询字段建立索引,对大表进行分表、分区处理,大幅提升查询效率。
3. 数据库死锁故障
排查技巧:MySQL可通过SHOW ENGINE INNODB STATUS查看死锁日志,定位死锁事务、锁定资源与冲突SQL。
修复方案:优化事务执行逻辑,缩短事务执行时长,统一事务资源锁定顺序,避免交叉抢占锁资源,杜绝死锁复现。
4. 数据库性能瓶颈
排查技巧:使用mysqltuner、数据库自带监控工具,分析缓存命中率、查询耗时、连接数、I/O负载,定位性能短板。
修复方案:调整数据库缓存参数、优化SQL与索引,拆分大事务,硬件层面升级磁盘、提升服务器配置。
5. 主从复制延迟故障
排查技巧:查看主从复制状态,核对binlog日志同步进度,排查主库写入压力过大、从库SQL执行缓慢导致的延迟。
修复方案:分流主库读写压力,优化从库参数提升同步效率,新增从库分担压力,必要时重构主从同步链路。
6. 数据表锁定故障
排查技巧:通过SHOW PROCESSLIST查看数据库正在执行的事务、锁状态,定位长期锁表、阻塞其他请求的SQL语句。
修复方案:终止阻塞的异常事务,优化批量更新、删除逻辑,减少长事务,避免频繁锁表、阻塞业务请求。
7. 数据库备份失败
排查技巧:查看备份任务日志,排查磁盘空间不足、备份权限不足、数据库锁冲突、定时任务异常等失败原因。
修复方案:清理备份磁盘冗余文件、扩容存储空间,修正备份脚本权限与定时策略,错开业务高峰执行备份。
8. 数据库磁盘I/O瓶颈
排查技巧:通过iostat监控磁盘读写速率、IO等待耗时,排查数据库高频读写导致的I/O过载、卡顿问题。
修复方案:将数据库存储迁移至SSD高速磁盘,搭建RAID阵列提升读写性能,优化SQL减少频繁随机读写。
9. 数据库表空间不足
排查技巧:通过SHOW TABLE STATUS、数据库空间查询语句,查看各数据表、表空间占用情况,定位爆满表空间。
修复方案:清理数据表过期冗余数据,释放碎片空间,新增表空间文件,对大表进行拆分归档。
10. 数据库连接数过多
排查技巧:通过SHOW STATUS查看实时数据库连接总数、活跃连接数,对比最大连接数配置,排查连接数打满问题。
修复方案:合理调高数据库最大连接数,优化应用连接池回收策略,清理无效闲置连接,避免连接数耗尽。
五、安全与权限管理故障排查
1. 权限不足访问失败
排查技巧:查看文件、目录、脚本的权限与所属用户组,排查权限过低、属主错误导致的无法读取、写入、执行问题。
修复方案:通过chmod修改文件权限,chown修正文件属主属组,遵循最小权限原则分配权限,兼顾可用性与安全性。
2. SSH登录失败故障
排查技巧:查看/var/log/auth.log、journalctl安全日志,排查密码错误、密钥失效、IP拦截、SSH配置限制等登录失败原因。
修复方案:修正SSH配置文件参数,放行登录IP防火墙规则,重新部署密钥、重置登录密码,解封异常封禁IP。
3. 服务器暴力攻击防护
排查技巧:通过日志监控高频异常SSH、后台登录尝试,识别暴力破解攻击行为。
修复方案:部署fail2ban工具,配置异常登录自动封禁策略,修改SSH默认端口,关闭root远程登录,强化服务器安全防护。
4. 防火墙规则过严阻断业务
排查技巧:通过iptables、firewalld查看所有防火墙规则,排查误拦截业务端口、IP、协议的严苛规则。
修复方案:清理无效、错误拦截规则,按需放行业务端口与内网IP,规范防火墙策略,避免过度拦截影响业务。
5. 系统密码安全管控
排查技巧:核查服务器用户密码有效期、复杂度,排查长期未更换、弱密码账号,规避泄露风险。
修复方案:配置系统密码定期更换策略、复杂度校验规则,强制用户定期更新密码,杜绝弱密码、永久密码。
6. 系统日志审计管控
排查技巧:通过auditd工具记录服务器用户登录、文件操作、命令执行等行为,定期审计日志排查异常操作。
修复方案:完善auditd审计规则,留存完整操作日志,定期复盘审计记录,及时发现非法操作、越权行为。
7. 文件完整性检测
排查技巧:使用falco、AIDE工具监控系统核心配置文件、二进制文件,检测文件被篡改、删除、新增等异常。
修复方案:定期执行文件完整性校验,发现篡改异常及时还原文件、溯源问题,配置自动告警机制。
8. 应用漏洞扫描修复
排查技巧:通过OpenVAS、Nessus工具定期扫描服务器、应用系统,检测代码漏洞、组件漏洞、配置漏洞。
修复方案:根据漏洞扫描报告,及时升级程序组件、修复代码漏洞、更新系统补丁,消除安全隐患。