为什么我的服务器会意外宕机?

为什么我的服务器会意外宕机?

我有一台基于 CentOS 5.3 的服务器,内核为 2.6.18-128.2.1.el5。它运行了近一个月,但本周却宕机了三次。我在 Nagios 中看到了它,写了一封电子邮件重启服务器。它运行了 12-36 小时,然后又宕机了。

我查看了日志文件。第一次发生故障之前/var/log/messages出现了这条消息:

logrotate:ALERT 异常退出,错误代码为 [1]

第二次重启服务器后,数据中心的系统管理员向我发送了以下截图: 替代文本 http://www.freeimagehosting.net/uploads/bd9fb68d98.png 第三次故障之前/var/log/messages有消息:

哎呀!page_mapcount(page) 变为负数 (-1)

我应该如何调查该问题?

更新:

部分memtester输出:

比较或:​​失败:0x7e9f90d1!= 0x7e9fd2d1,偏移量为 0x06222609。
失败:0x7e9f90d1 != 0x7e9fd0d1,偏移量为 0x06222621。
失败:0x7e9f90d1 != 0x7e9fd1d1 位于偏移量 0x06222661。
失败:0x7e9f90d1 != 0x7e9f92d1,偏移量为 0x06222681。
失败:0x7e9f90d1 != 0x7e9fd0d1 位于偏移量 0x062226a1。
失败:0x7e9f90d1 != 0x7e9fd0d1 位于偏移量 0x062226c1。
失败:0x7e9f90d1 != 0x7e9f93d1,偏移量为 0x062226e9。

这是错误的记忆。谢谢您的帮助!

答案1

我的第一个猜测是 Nagios 存在小的内存泄漏,经过几个月的运行后,内存或交换空间耗尽。但是,由于机器在同一天崩溃了几次,这表明内存芯片有问题。我的第一步是进行内存测试或检查坏内存日志(如果您的服务器支持它)。

答案2

我也认为内存有问题。我建议使用memtest86对内存进行彻底检查。另外,房间内的温度是否凉爽宜人?

答案3

我也认为内存有问题。如果由于机器位于远程位置而无法使用 memtest86,则可能需要尝试使用用户空间工具 - memtester。它的效果不是很好,但可能能够发现一些内存错误(如果存在)。

答案4

Google 或 Centos 论坛/列表可能是您的最佳选择。如果没有 crsah 转储,很难确定,因此您应该研究如何配置它。

您也可以通过 Redhat bugzilla 进行搜索。根据屏幕截图中所获得的信息来看,这是有可能的。

相关内容