如何诊断 ubuntu 服务器重启

如何诊断 ubuntu 服务器重启

我的 ubuntu 服务器 (12.04) 有时会在未通知的情况下重启。如何检查是什么触发了服务器重启?

答案1

这是一门艺术。

如果可以,请启用串行控制台(您需要 BIOS 支持,可能需要启用 GRUB 支持,并运行 TTY),并确保系统日志和内核写入控制台。屏幕会话将其捕获到另一台服务器上的文件中可能会很有用。

常见的日志嫌疑: /var/log/messages,,,。请注意,/var/log/syslog仅在启动后不久捕获内核环形缓冲区,因此可能不会有太多信息。/var/log/kern.log/var/log/debug/var/log/dmesg

最有用的操作之一是启用netconsole内核日志服务。您需要在某处(最好在附近)安装 syslog 服务器来捕获输出。 kdump如果数据可以安全地记录到磁盘,那么它也很有用。

如果您仍然感到困惑,请开始查看硬件组件(内存、CPU 和主板组件是主要嫌疑人),换出/禁用其中的部分或全部等。内核驱动程序可能会导致故障,因此加载/卸载模块可能会揭示一些问题。

BIOS 配置可能会产生问题。例如:几年前戴尔曾遇到过“CSTATE”设置问题,英特尔很久以前遇到过 northgate/southgate 配置问题。请咨询您的 BIOS/系统供应商以获取任何建议的设置或固件更新。

多年来,我遇到过由于电容器损坏、RAM 损坏、BIOS、Samba 驱动程序、硬件加密加速器、电源/配电元件、主板接线、主电源中断以及各种形式的操作员错误/干预而导致的随机死机/崩溃。通常,从简单/可记录的内容开始,然后开始从可能的候选者中排除组件(硬件或软件)。

答案2

这通常非常困难。

一些值得关注的地方:

  • 命令的输出dmesg(可能包含有关硬件故障的信息)
  • 内容/var/log/syslog(查找表示 syslog 正在启动的行,然后查看其前面的内容)
  • 内容/var/log/messages(与 syslog 相同)
  • 内容/var/log/auth.log(寻找任何有意重启的迹象)
  • 可能还有其他/var/log/

相关内容