我有基于 CentOS 5.3 的服务器,内核为 2.6.18-128.2.1.el5。它工作了将近一个月,但本周它下降了三倍。我在 Nagios 看到它,写一封电子邮件重新启动服务器。它工作了 12-36 小时,然后又下降了。
我查看日志文件。就在第一次出现故障之前/var/log/messages
是这条消息:
logrotate: ALERT 异常退出 [1]
第二次重新启动服务器后,系统管理员从数据中心向我发送此屏幕截图:
alt text http://www.freeimagehosting.net/uploads/bd9fb68d98.png
在第三个故障之前/var/log/messages
是消息:
哎呀!page_mapcount(page) 变为负数 (-1)
我应该如何调查问题?
升级版:
部分memtester
输出:
比较 OR : FAILURE: 0x7e9f90d1 != 0x7e9fd2d1 在偏移 0x06222609。 失败:0x7e9f90d1 != 0x7e9fd0d1 在偏移量 0x06222621。 失败:0x7e9f90d1 != 0x7e9fd1d1 在偏移量 0x06222661。 失败:0x7e9f90d1 != 0x7e9f92d1 在偏移量 0x06222681。 失败:0x7e9f90d1 != 0x7e9fd0d1 在偏移量 0x062226a1。 失败:0x7e9f90d1 != 0x7e9fd0d1 在偏移量 0x062226c1。 失败:0x7e9f90d1 != 0x7e9f93d1 在偏移量 0x062226e9。
是内存有问题。谢谢你的帮助!
我的第一个猜测是 Nagios 存在少量内存泄漏,并且在运行数月后耗尽了 RAM 或交换空间。但是,由于机器在同一天崩溃了几次,这表明 RAM 芯片有故障。我的第一步是进行内存测试或检查错误的内存日志(如果您的服务器支持它)。
我也投票给有缺陷的公羊。我建议使用memtest86对 ram 进行彻底检查。另外,房间里的温度是否凉爽凉爽?
我也投票给有问题的 RAM。如果由于机器位于远程位置而无法使用 memtest86,则可能需要尝试使用用户空间工具 - memtester。它不能很好地工作,但如果它们存在的话,可能会发现一些内存错误。
一眼看去,惊慌失措的进程似乎是 Nagios。每次恐慌和锁定时,这是否一致?如果是这样,我会问问题是否在您设置 Nagios 时开始。如果是这种情况,那么您可能想尝试关闭 Nagios 并查看服务器是否恢复稳定。如果确实如此,那么您已经找到了罪魁祸首,需要仔细查看以了解 Nagios 出了什么问题。
谷歌或 Centos 论坛/列表可能是你最好的选择。如果没有 crsah 转储,将很难确定,因此您应该考虑进行配置。
您还可以通过 Redhat bugzilla 进行搜索。根据您从屏幕截图中获得的信息,这看起来很有可能。