我的Ubuntu服务器(12.04)有时会重新启动而不通知。 我怎样才能检查什么触发服务器重新启动?
这是一门艺术。
如果可以,启用串行控制台(您需要BIOS支持,可能需要启用GRUB支持,并运行TTY),并确保syslog和内核写入控制台。 将其捕获到另一台服务器上的文件的屏幕会话可能会很有用。
通常的日志可疑: /var/log/messages , /var/log/syslog , /var/log/debug /var/log/kern.log , /var/log/debug 。 请注意, /var/log/dmesg只会在启动后不久捕获内核环形缓冲区,所以它可能不会有太多的信息。
netconsole是一个内核日志logging服务,最有用的工作之一就是启用netconsole 。 你需要一个系统日志服务器(最好在附近)来捕获输出。 假设数据可以安全地logging到磁盘上, kdump也是有用的。
如果你仍然难住,开始看硬件组件(内存,CPU和主板组件是主要嫌疑人),交换/禁用部分或全部这些,等内核驱动程序可能会导致故障,所以加载/卸载模块可能会泄露的东西。
BIOSconfiguration可能会产生问题。 例如:戴尔在几年前有一个“CSTATE”设置问题,英特尔有一个northgate / southgateconfiguration问题的方式。 请咨询您的BIOS /系统供应商,了解任何build议的设置或固件更新。
多年来,由于坏电容,坏RAM,BIOS,Samba驱动程序,硬件encryption加速器,电源/分配元件,主板布线,干线电源中断以及各种forms的操作员错误/干预,导致了随机locking/崩溃。 一般来说,从容易/可logging的东西开始,并从可能的候选人开始消除组件(硬件或软件)。
这往往是非常困难的。
有些地方要看:
dmesg命令的输出(可能包含有关硬件故障的信息) /var/log/syslog (查找一行表示syslog正在启动,然后在它之前查看) /var/log/messages (与syslog相同) /var/log/auth.log的内容(查找任何有意重新启动的指示) /var/log/