我有一台基于 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 进行搜索。这根据屏幕截图中所获得的信息来看,这是有可能的。