我有一台 Ubuntu Godaddy 服务器,用于托管邮件和 Web 应用。几个月前它开始出现问题。它会锁定并停止响应任何操作。我无法通过 ssh 进入它,所以我让 godaddy 关闭服务器电源。
我从未在 var 日志中看到任何可疑的东西(尽管我不是阅读日志的专家)。fsck 没有发现任何问题。Godaddy 更换了内存,但没有发现硬件问题。我开始将“top”的输出记录到日志文件中,发现当服务器冻结时,即使是这个文件也会停止运行。
现在,最疯狂的部分来了:情况变得如此糟糕,以至于每隔几个小时它就会宕机一次,但后来它就不再宕机了。我最终意识到我留下了一个登录到运行 top 的机器的 ssh 终端。这似乎不太可能是原因,但在服务器正常运行了整整一周后(请记住,它只运行了几个小时就宕机了),我断开了 ssh 会话。瞧,几个小时内服务器又冻结了!
我让它们再次通电,然后使用 top 打开另一个 ssh 会话。到现在 8 天了,它一直没有出现问题。
我告诉其他人这件事,但他们几乎不相信我。我简直无法想象发生了什么。除了换一台新服务器并重新安装所有东西,我不知道还能做什么。
有人知道我可以查找什么来确定原因吗?服务器上是否有某种漏洞,只有当每个人都退出系统时才会运行?
编辑:电源管理失灵听起来很合理,所以我修改了 /boot/grub/menu.lst,使其以 acpi=off 和 apm=off 启动。它似乎阻止了 kacpid 和 kacpid_notify 进入进程列表,所以我认为我做对了。我已断开与服务器的所有会话。今晚晚些时候我会检查它是否仍在运行。如果它关闭,那么我将尝试 ping 进程的想法。
编辑:它又挂了。持续了大约一天。我已经让它们重新启动了,所以现在我将尝试运行“nohup ping -i 5 google.com &”,然后断开连接。如果它再次挂了,我会回来。希望有人能有更多想法。
编辑:嗯。它已经 5 天没有宕机了。我只是短暂地登录过。“nohup ping -i 5 google.com &”似乎可以完成这项工作。有人知道为什么吗?我并不热衷于让我的机器每 5 秒钟无限期地 ping google,但如果我找不到其他办法,我可能会添加一个启动脚本,在服务器重新启动时运行这个脚本。
答案1
某种省电机制,可能进入睡眠模式。也许可以在 /etc/modules.conf 中禁用 ACPI 模块来测试假设。