
# 系统异常重启的原因排查
#### 可能性 1: 内存耗尽 (OOM - Out Of Memory)
- 现象描述： 一个或多个进程消耗了所有物理内存和交换分区（Swap）。为防止系统完全僵死，内核的 OOM Killer 会强制终止占用内存最多的进程，有时这个过程会引发系统连锁反应导致重启。
  

- 排查方法： 日志确认：/var/log/messages中存在 "Out of memory: Killed process" 或 "invoked oom-killer" 等字样。
  

- 解决方案：
  1. 从业务进程排查，确认是否有内存泄漏，导致OOM。
  
  2. 如果确认业务需要比较多的内存，建议升级弹性云服务器内存规格。
   
 
#### 可能性 2: Kernel Panic
- 现象描述： 内核遇到了无法恢复的致命错误（如驱动 Bug、内核 Bug、硬件通信故障）。系统会冻结，并根据配置自动重启。
  

- 排查方法：
1. 日志确认： /var/log/messages中存在 "Kernel panic - not syncing", "Oops"等关键字。
2. 检查自动重启配置： 
   ```
   cat /proc/sys/kernel/panic           
   # 输出为 0: 发生 Panic 后挂起，等待人工处理。           
   # 输出为 N: 发生 Panic 后 N 秒自动重启。
   ```
   
   
- 解决方案：
  1. 驱动/内核回滚： 如果问题出现在近期更新后，将内核或相关驱动（如显卡、网卡驱动）回滚到之前的稳定版本。
  
  2. 捕获现场： 为下次故障能保留现场，可临时禁用自动重启：
     ```
     echo 0 > /proc/sys/kernel/panic  # 临时修改
     ```
     
   
 
#### 可能性 3: 计划任务触发重启
- 现象描述： 配置错误触发了重启。
  
- 排查方法： 检查计划任务:
  ```
  sudo grep -r "reboot\|shutdown" /etc/cron.d/ /etc/cron.hourly/ /etc/cron.daily/ /etc/cron.weekly/ /etc/cron.monthly/ /var/spool/cron/
  ```
  

- 解决方案： 修正配置：找到并删除或注释错误的重启计划任务。
  
 
