我有一台刚刚设置的 Linux 服务器,debian squeeze,2.6.32-5-amd64,过去一周它重启了三次,一天内重启了两次。据我所知,没有断电(它使用 UPS 供电),系统日志中也没有错误,除了启动时由于非正常关机而清除 ext4 日志中的条目时出现的几个意料之中的错误。
我可以采取哪些步骤来确定重启的原因?有没有办法让它挂起而不是重启,这样我就可以从屏幕上复制堆栈跟踪或其他内容?有没有办法增加调试消息,或者让它将内容转储到磁盘,或者其他什么?
答案1
这可能是硬件问题;最常见的是 RAM 故障和过热。您可以安装mbmon
以监控主板和 CPU 温度;然后运行memtest86+
以检查 RAM 和 CPU 缓存。
答案2
有可能是“内核崩溃”,并且在重新启动之前将内核“oops”消息发送到控制台。内核可以配置为在“崩溃”时重新启动或继续运行。检查:
cat /proc/sys/kernel/panic
如果它不为零,请尝试将 0 放在那里(您可以直接写入文件,通过通常在启动时解析的 /etc/sysctl.conf,或使用实用程序sysctl
),这应该会停止重启。如果它已经是 0,那么重启不是由内核崩溃引起的。
答案3
检查 的输出last
。查找重新启动。尝试将其与登录者(如果有)和拥有超级用户权限的人联系起来。如果不是用户,则可能存在电源/热量问题或某种类型的内核恐慌导致的问题。尝试逐一排除这些问题。