Parece que não há uma maneira infalível de saber , no entanto, várias abordagens podem obter algum tipo de resposta. Aparentemente, você praticamente tem que experimentar os diferentes até encontrar um que diga que a ECC está funcionando.
No meu caso, memtest86 + 4.20 não poderia ser persuadido a perceber que estava lidando com a RAM ECC; mesmo se eu configurasse para o ECC On, ele ainda informava ECC: Disabled
na linha do IMC. Eu ainda não tentei com uma versão mais recente. No entanto (possivelmente depois de instalar o edac-utils, infelizmente eu fiz os dois essencialmente ao mesmo tempo), o Linux reporta nos logs de inicialização (intercalados com algumas outras entradas):
[ 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
que é uma boa indicação. Fazer manualmente /etc/init.d/edac restart
não cria entradas de log semelhantes e, olhando para um log mais antigo de algumas reinicializações, vejo:
[ 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
também fornece duas indicações bastante strongs: a propriedade "tipo de correção de erro" da matriz de memória física (que, no entanto, por algum motivo mostrou o mesmo na memória RAM não-ECC , então isso pode estar relacionado ao suporte da placa-mãe e não às capacidades da memória),
Handle 0x0026, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
e largura total e largura de dados de cada dispositivo de memória, respectivamente (os bits adicionais são aqueles usados para o 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