Come sapere se la RAM ECC funziona?


19

Sto pianificando di ottenere un po 'di RAM ECC per sostituire la RAM non ECC attualmente installata sulla mia scheda madre Asus M5A97 Pro (chipset AMD 970, CPU FX-6100).

Dopo aver installato la RAM, come posso sapere se la funzione ECC della RAM funziona correttamente?

Ho pensato a dmidecode --type memoryquale attualmente stampa tra l'altro per ogni chiavetta RAM:

Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits

(Per uno, mi aspetto che con 1 bit di ECC per byte la larghezza dei dati rimanga 64 bit ma la larghezza totale legga 72 bit.)

Può essere usato per determinare se ECC è operativo? O dmidecode è troppo basso livello per quello? Cos'altro potrei usare (tranne aspettare e vedere se nei log compare un errore ECC, il che indicherebbe che funziona ma non che non funziona)?

Aggiornamento: in seguito ho pensato a edac-utils. Installandoli, ottengo Not enabling Memory Error Detection and Correction since EDAC_DRIVER is not set. Questo mi ha dato edac-utiled edac-ctleseguibili. Uno di questi può essere utilizzato per questo scopo?


2
qualcuno con più tempo di me può aggiungere la parte su ecc_check.c da pugetsystems.com/labs/articles/… in una delle risposte?
Costin Gușă,

Risposte:


12

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: Disabledsulla 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 restartnon 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 memorydà 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

5

Esiste un modo molto semplice ed efficace per farlo, a condizione che tu abbia l'accesso alla console al tuo server / PC e possa riavviarlo: memtest86 +

Questo elegante strumento ti mostrerà rapidamente se la memoria è abilitata ECC. Ritengo inoltre che eseguirà la convalida ECC durante l'esecuzione dei test effettivi.

Ecco uno screenshot (leggermente obsoleto): inserisci qui la descrizione dell'immagine


Perfetto! Per ora, sto vedendo IMC : AMD FX(tm)-6100 Six-Core Processor (ECC : Disabled)ed ECC off. Suppongo quindi che se mostra qualcosa di diverso da Disablede offper ECC con i nuovi DIMM, sono pronto per quanto riguarda almeno l'hardware?
un CVn il

2
@ MichaelKjörling Mi occupo solo di ECC su server standard di settore con CPU Xeon, quindi non ne ho idea. Posso immaginare che la CPU debba supportare ECC, poiché il controller di memoria risiede al suo interno.
pauska,

en.wikipedia.org/wiki/… elenca l'FX-6100 come Zambezi (basato su Bulldozer), di cui "tutti i modelli supportano ... ECC [RAM]"
un CVn il

Sfortunatamente memtest86 + 4.20 non sembra voler riconoscere la mia RAM come ECC. Tuttavia, ci sono alcune indicazioni abbastanza forti che ECC funzioni; vedi la mia risposta. Grazie mille!
un CVn il

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.