我有一个带有 CentOS 的 32GB 非 ECC RAM 专用服务器。
一天一次,它在 /var/log/kern.log、/var/log/messages、mysql、apache 中随机崩溃而没有任何错误。
CPU/RAM/IO 不是特别高也不是特别低。
CentOS 是否在某处记录了任何此类错误,可以最终揭示“现在是支付 ECC 费用的时候了”?
Mad*_*ter 10
你希望它记录什么?CentOS 无法知道非 ECC 内存的内容已损坏,因为它是不可知的;它只能知道记忆中的内容毫无意义,并因发现任何自相矛盾而惊慌失措。这种不一致可能是由 RAM 损坏引起的,但也可能是由内核错误或其他原因引起的。
明确知道内存已损坏的唯一方法是使用明确支持检查此类损坏的内存;即,ECC 内存。
编辑:这与您提出的问题完全不同。但我的策略是:memtest86+
在硬件上运行,查看是否有任何易于捕获的可重复错误,并syslog
在服务器上启用远程ging(因为当内核崩溃时,它通常会停止向 FS 写入但仍然可以挤压NIC 输出的日志消息),以查看下一次恐慌时记录的内容。
ECC内存有两个优点:
鉴于此,实际上很难确定您是否会在没有 ECC ram 的情况下从 ECC ram 中受益。根据定义,您无法记录检测错误的失败,并且您当然没有关于可能发生或可能未发生的错误是否是内存控制器混乱的结果的数据。
也就是说,如果您运行 memtest,您将确定几件事。如果您没有发现任何错误,要么您需要 ECC RAM,要么问题出在其他方面(因此,如果您绝对排除了所有硬件和软件的原因,则表明您需要 ECC RAM)。如果您发现始终如一的错误,则可能是 RAM 坏了,只需要更换即可。如果您发现不一致的错误,则 CPU 可能损坏,或者您可能需要 ECC RAM。如果你发现memtest86死机,要么最低阶DIMM坏,要么CPU坏,要么你需要ECC RAM。
无论如何,这绝对是非常棘手的。ECC RAM 在计算中的不可见错误可能导致极端问题的应用程序中最有用,或者在 RAM 的绝对数量与其他条件相结合的应用程序中可能会导致统计错误的应用程序。然而,这些标准本身是模糊的和主观的,因此因此没有真正的客观标准。
归档时间: |
|
查看次数: |
510 次 |
最近记录: |