Sembra che non ci sia un modo sicuro per dirlo , tuttavia vari approcci possono darti una sorta di risposta. Apparentemente devi praticamente provare quelli diversi fino a quando non ne trovi uno che ti dice che ECC funziona.
Nel mio caso memtest86 + 4.20 non poteva essere persuaso a rendersi conto che si trattava di RAM ECC; anche se l'ho configurato per ECC On, veniva comunque riportato ECC: Disabled
sulla riga IMC. Non ho ancora provato con una versione più recente. Tuttavia (probabilmente dopo aver installato edac-utils, sfortunatamente ho fatto entrambi essenzialmente allo stesso tempo), Linux riporta nei log di avvio (intervallati da alcune altre voci):
[ 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
che è una buona indicazione. Fare manualmente /etc/init.d/edac restart
non crea voci di registro simili e guardando un registro più vecchio di alcuni riavvii, vedo:
[ 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
dà anche due indicazioni piuttosto forti: la proprietà "tipo di correzione dell'errore" dell'array di memoria fisica (che tuttavia per qualche motivo ha mostrato lo stesso su RAM non ECC , quindi questo potrebbe essere correlato al supporto della scheda madre piuttosto che alle capacità della memoria),
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 la larghezza totale e la larghezza dei dati di ciascun dispositivo di memoria, rispettivamente (i bit aggiuntivi sono quelli utilizzati per l'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