似乎没有确定的方法可以告诉您,但是各种方法都可以为您提供某种答案。显然,您几乎必须尝试其他方法,直到找到一个告诉您ECC正在工作的方法。
在我的情况下,无法诱使memtest86 + 4.20意识到它正在处理ECC RAM。即使我将其配置为ECC On,它仍会ECC: Disabled
在IMC行上报告。我尚未尝试使用新版本。但是(可能是在安装edac-utils之后,不幸的是我基本上同时完成了这两项操作),Linux在启动日志中报告了(穿插了其他一些条目):
[ 4.867198] EDAC MC: Ver: 2.1.0
...
[ 4.874374] MCE: In-kernel MCE decoding enabled.
[ 4.875414] AMD64 EDAC driver v3.4.0
[ 4.875438] EDAC amd64: DRAM ECC enabled.
...
[ 4.875542] EDAC amd64: CS0: Unbuffered DDR3 RAM
[ 4.875545] EDAC amd64: CS1: Unbuffered DDR3 RAM
[ 4.875546] EDAC amd64: CS2: Unbuffered DDR3 RAM
[ 4.875548] EDAC amd64: CS3: Unbuffered DDR3 RAM
这是一个很好的指示。手动执行/etc/init.d/edac restart
不会创建类似的日志条目,并且在几次重新启动之前查看了较旧的日志,我看到:
[ 13.886688] EDAC MC: Ver: 2.1.0
[ 13.890389] MCE: In-kernel MCE decoding enabled.
[ 13.891082] AMD64 EDAC driver v3.4.0
[ 13.891107] EDAC amd64: DRAM ECC disabled.
[ 13.891116] EDAC amd64: ECC disabled in the BIOS or no ECC capability, module will not load.
[ 13.891117] Either enable ECC checking or force module loading by setting 'ecc_enable_override'.
[ 13.891118] (Note that use of the override may cause unknown side effects.)
dmidecode --type memory
还提供了两个非常有力的指示:物理内存阵列的“纠错类型”属性(但是由于某种原因,它在non-ECC RAM上显示了相同的内容,因此这可能与主板的支持而不是内存的功能有关),
Handle 0x0026, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
以及每个存储设备的总宽度和数据宽度(其他位是用于ECC的位):
Handle 0x0028, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0026
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits