我在最后一个Debian服务器上遇到问题。 我在屏幕上每隔一秒写入一次这个错误:
EDAC MC0: INTERNAL ERROR: csrow value is out of range (7 >= 4)
edac-utils给出:
mc0: 0 Uncorrected Errors with no DIMM info mc0: 44747 Corrected Errors with no DIMM info mc0: csrow0: 15330 Uncorrected Errors mc0: csrow0: mc#0csrow#0channel#0: 0 Corrected Errors mc0: csrow0: mc#0csrow#2channel#0: 0 Corrected Errors mc0: csrow2: 0 Uncorrected Errors mc0: csrow2: mc#0csrow#1channel#0: 0 Corrected Errors mc0: csrow2: mc#0csrow#3channel#0: 0 Corrected Errors mc0: csrow3: 0 Uncorrected Errors mc0: csrow3: mc#0csrow#1channel#1: 0 Corrected Errors mc0: csrow3: mc#0csrow#3channel#1: 0 Corrected Errors
Memtest上没有任何东西。
有什么问题? 如何解决?
谢谢。
EDAC抱怨大多数(所有)存储库,而Memtest在所有可能的方式中都没有显示错误,说明你的ECC RAM是正常的,但是在启动时没有被BIOS正确初始化。
为了初始化ECC位,必须先写入内存才能使用。 通常这是由BIOS完成的,但对于某些主板(例如华硕P5B),如果启用了“快速启动”,则跳过此步骤。 所以,在每次访问未初始化的单元格时,服务器工作时都会遇到EDAC错误,同时不会出现问题。
尝试在BIOS中禁用快速启动,看看是否有帮助。
如果您没有硬件的物理访问权限,或者您的BIOS不提供禁用快速启动function的选项 – 在加载EDAC模块之前还有其他方法来初始化内存。 在/etc/default/grub中将memtest=1添加到内核命令行,然后运行update-grub来更新configuration(我假设您正在运行Debian / Ubuntu)。 内核将在启动时使用内置的内存testing器,作为testing的一部分,所有内存将被写入,导致ECC位初始化。
memtest可能不会显示问题,但是我可以在该日志中看到mc0: csrow0: 15330 Uncorrected Errors 。 看起来你有坏的内存。 根据电路板,您应该能够find确切的坏棒并将其更换。