一次服务器宕机的排查记录

服务器宕机的排查记录

生产环境凌晨突然宕机,日志报错数据库链接超时
cpu、内存 磁盘 飙升

系统采用了springcloud 架构,通过阿里云的监控对比,发现仅仅一台服务器的宕机
分析日志发现,宕机的机器,凌晨接发大量请求,10分钟后宕机

初步怀疑负载均衡失效,进一步分析,流量集中在inner 接口,应该是FeignClient 请求
同时日志中出现sql 批量操作,进一步确定是Eurake 负载失效或者项目内部代码逻辑问题。

排查定时任务,确定逻辑,凌晨的定时任务在派发卡券的时候使用了多线程导致服务器宕机,

派发卡券是运营模块发起,定时任务通过HTTP直链触发,形成了一个节点正常,一个节点宕机的情况。

代码逻辑中使用了多线程,并且频繁操作数据库,导致了程序运行一段时间之后,整个运营模块宕机。

排查难点:宕机时,服务器日志丢失,MySQL数据库 链接不足导致服务器宕机,而导致链接不足的逻辑代码较难定位。
定时任务设计不合理,批量处理程序设计不合理。

生产环境中 往往没有直接登录服务器权限,一般思路从代码逻辑入手,毕竟MySQL Linux 或者spring cloud 都是经过时间检验的,服务器宕机更有可能是自己写的代码逻辑有问题。

在这里插入图片描述

<think>我们正在处理服务器宕机错误92(ERROR 92)的故障排查。根据之前的讨论,错误92通常与设备驱动程序相关(如驱动损坏、初始化失败等)。结合用户提供的引用资料,我们将从硬件、软件、资源监控和日志分析等方面进行排查。 引用[1]提到硬件故障(如硬盘、内存、电源、主板)是服务器宕机的重要原因之一。引用[3]和[4]提供了排查思路,包括资源监控(CPU、内存、带宽)和系统日志分析(如/var/log/kern.log)。引用[2]则强调了测试和预防措施的重要性。 因此,我们将结合这些信息,针对错误92制定详细的排查步骤。 注意:根据用户要求,我们将使用LaTeX格式表示数学表达式(虽然本问题中可能较少涉及数学公式,但若有则按规则书写),并在回答中自然地添加引用标识。同时,生成相关问题。 以下是针对服务器宕机错误92的详细排查指南:</think>### 服务器宕机错误92(ERROR 92)故障排查指南 针对服务器宕机错误92(通常表示**设备驱动程序初始化失败**),结合硬件故障、系统资源及日志分析等关键环节,制定以下排查方案: --- ### **一、核心排查方向** 1. **硬件驱动故障**(引用[1][3]) - RAID卡/网卡等关键驱动损坏或版本不兼容 - 新安装硬件与系统冲突 2. **资源耗尽**(引用[3][4]) - 内存泄漏导致非分页池耗尽(Windows)或Slab缓存溢出(Linux) - CPU/磁盘I/O持续峰值阻塞驱动初始化 3. **系统文件损坏** - 驱动文件(`.sys`/`.ko`)被篡改或丢失 - 注册表项(Windows)或模块依赖(Linux)异常 --- ### **二、诊断步骤** #### **1. 日志深度分析** - **Windows系统**: ```powershell Get-WinEvent -LogName System | Where-Object {$_.Id -eq 92} # 筛选错误92事件 ``` 检查关联驱动名(如 `iaStorV.sys` 表示Intel RAID驱动故障)[^4]。 - **Linux系统**(Ubuntu示例): ```bash grep -i "error 92" /var/log/kern.log # 内核日志 dmesg -T | grep -i "failed init" # 驱动初始化记录[^4] ``` #### **2. 硬件资源监控** - **宕机前资源峰值检测**: ```bash # Linux内存/CPU监控 sar -r 1 10 # 内存使用率 sar -u 1 10 # CPU利用率[^3] ``` - **重点指标**: - Windows:非分页内存池 > 80% 需警惕驱动泄漏 - Linux:`Slab`缓存持续增长(`slabtop`命令) #### **3. 驱动完整性验证** - **Windows**: ```cmd sfc /scannow # 系统文件修复 driverquery /v | findstr 92 # 列出问题驱动 ``` - **Linux**: ```bash modinfo <驱动模块名> # 检查驱动状态 depmod -a # 重建模块依赖 ``` #### **4. 硬件诊断** - 运行厂商诊断工具(如Dell ePSA/HP Smart Storage) - 内存测试:`memtest86+`(需U盘启动)[^1] - 检查设备管理器(Windows)或`lspci -vvv`(Linux)中的冲突设备 --- ### **三、紧急恢复措施** 1. **驱动回滚**(Windows): ```powershell pnputil /rollback-driver <驱动ID> # 回滚问题驱动 ``` 2. **内核降级**(Linux): ```bash apt install linux-image-<旧版本号> # Ubuntu示例 ``` 3. **资源限制**(防泄漏): ```bash # Linux限制进程内存 cgcreate -g memory:/driver_guard echo 2G > /sys/fs/cgroup/memory/driver_guard/memory.limit_in_bytes ``` --- ### **四、预防性优化** 1. **驱动管理**: - 禁用Windows自动驱动更新,使用厂商验证版本 - Linux内核模块签名验证: ```bash openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=DriverSign/" ``` 2. **资源隔离**: - 为关键驱动分配独立CPU核心(`taskset`命令) 3. **监控增强**: ```bash # Linux实时监控驱动资源 atop -d -g /var/log/atop.log # 记录驱动级资源消耗[^3] ``` > **关键提示**:若错误92伴随**蓝屏(BSOD)**,分析内存转储文件: > ```windbg > !analyze -v # Windows WinDbg分析 > crash /var/crash/dump.0 # Linux crash工具 > ``` --- ### **
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值