TL; DR
Prima il numero più importante: il conteggio degli errori per la memoria sana dovrebbe essere 0 . Qualsiasi numero superiore a 0 può indicare settori danneggiati / difettosi.
Spiegazione dello schermo
Memtest86+ v1.00 | Progress of the entire pass (test series)
CPU MODEL and clock speed | Progress of individual, current test
Level 1 cache size & speed | Test type that is currently running
Level 2 cache size & speed | Part of the RAM (sector) that is being tested
RAM size and testing speed | Pattern that is being written to the sector
Information about the chipset that your mainboard uses
Information about your RAM set-up, clock speed, channel settings, etc.
WallTime Cached RsvdMem MemMap Cache ECC Test Pass Errors ECC Errs
--------- ------ ------- -------- ----- --- ---- ---- ------ --------
Elapsed Amount Amount Mapping on on Test # of # of # of ECC
time of RAM of used or or type pass errors errors
cached reserved off off done found found
RAM, not
tested
Spiegazione dati / test
MemTest esegue una serie di test, scrive schemi specifici in ogni settore della memoria e li recupera. Se i dati recuperati differiscono dai dati originariamente memorizzati, MemTest registra un errore e aumenta il conteggio degli errori di uno. Gli errori sono generalmente segni di strisce RAM errate.
Poiché la memoria non è solo un blocco note che contiene informazioni ma ha funzioni avanzate come la memorizzazione nella cache, vengono eseguiti diversi test. Questo è ciò che Test #
indica. MemTest esegue una serie di test diversi per verificare se si verificano errori.
Alcuni esempi di test (semplificati):
- Settori di prova in questo ordine: A, B, C, D, E, F. (Seriale)
- Settori di prova in questo ordine: A, C, E, B, D, F. (Trasloco)
- Riempi tutti i settori con il motivo: aaaaaaaa
- Riempi tutti i settori con un motivo casuale.
Descrizione più dettagliata di tutti i test da: https://www.memtest86.com/technical.htm#detailed
Test 0 [Test indirizzo, a piedi, senza cache]
Verifica tutti i bit di indirizzo in tutti i banchi di memoria utilizzando un modello di indirizzo di quelli a piedi.
Test 1 [Test indirizzo, indirizzo proprio, sequenziale]
Ogni indirizzo è scritto con il proprio indirizzo e quindi viene verificato la coerenza. In teoria, i test precedenti avrebbero dovuto rilevare eventuali problemi di indirizzamento della memoria. Questo test dovrebbe rilevare eventuali errori di indirizzamento che in qualche modo non sono stati rilevati in precedenza. Questo test viene eseguito in sequenza con ciascuna CPU disponibile.
Test 2 [Test indirizzo, indirizzo proprio, parallelo]
Come il test 1 ma il test viene eseguito in parallelo utilizzando tutte le CPU e utilizzando indirizzi sovrapposti.
Test 3 [Spostamento di inversioni, uno e zeri, Sequenziale]
Questo test utilizza l'algoritmo di inversione mobile con schemi di tutti e zeri. La cache è abilitata anche se interferisce in qualche modo con l'algoritmo di test. Con la cache abilitata questo test non richiede molto tempo e dovrebbe trovare rapidamente tutti gli errori "difficili" e alcuni errori più sottili. Questo test è solo un controllo rapido. Questo test viene eseguito in sequenza con ciascuna CPU disponibile.
Test 4 [Spostamento di inversioni, uno e zeri, parallelo]
Come il test 3 ma il test viene eseguito in parallelo utilizzando tutte le CPU.
Test 5 [Spostamento di inversioni, 8 bit pat]
Questo è lo stesso del test 4, ma utilizza uno schema a 8 bit di "walking" e zeri. Questo test rileverà meglio gli errori sottili nei chip di memoria "larghi".
Test 6 [Spostamento di inversioni, modello casuale]
Il test 6 utilizza lo stesso algoritmo del test 4 ma il modello di dati è un numero casuale ed è un complemento. Questo test è particolarmente efficace nella ricerca di errori sensibili ai dati difficili da rilevare. La sequenza numerica casuale è diversa ad ogni passaggio, quindi più passaggi aumentano l'efficacia.
Test 7 [Blocca mossa, 64 mosse]
Questo test sollecita la memoria usando le istruzioni di blocco dei movimenti (movsl) e si basa sul test burnBX di Robert Redelmeier. La memoria viene inizializzata con schemi di spostamento che vengono invertiti ogni 8 byte. Quindi i blocchi di memoria da 4 MB vengono spostati usando l'istruzione movsl. Una volta completate le mosse, i modelli di dati vengono controllati. Poiché i dati vengono controllati solo dopo il completamento degli spostamenti della memoria, non è possibile sapere dove si è verificato l'errore. Gli indirizzi riportati sono solo per dove è stato trovato il modello errato. Poiché gli spostamenti sono vincolati a un segmento di memoria di 8 MB, l'indirizzo in errore sarà sempre a meno di 8 MB dall'indirizzo segnalato. Gli errori di questo test non vengono utilizzati per calcolare i modelli BadRAM.
Test 8 [Spostamento di inversioni, pat a 32 bit]
Questa è una variante dell'algoritmo di inversione mobile che sposta il modello di dati lasciato di un bit per ciascun indirizzo successivo. La posizione del bit iniziale viene spostata a sinistra per ogni passaggio. Per utilizzare tutti i possibili schemi di dati sono necessari 32 passaggi. Questo test è abbastanza efficace nel rilevare errori sensibili ai dati ma il tempo di esecuzione è lungo.
Test 9 [Sequenza numerica casuale]
Questo test scrive una serie di numeri casuali in memoria. Ripristinando il seme per il numero casuale, è possibile creare la stessa sequenza di numeri per un riferimento. Il modello iniziale viene verificato, quindi integrato e ricontrollato al passaggio successivo. Tuttavia, diversamente dalle inversioni in movimento, la scrittura e il controllo del test possono essere eseguiti solo in avanti.
Test 10 [Modulo 20, uni e zeri]
L'uso dell'algoritmo Modulo-X dovrebbe scoprire errori che non vengono rilevati spostando le inversioni a causa della cache e dell'interferenza del buffer con l'algoritmo. Come per il test, solo uno e zero vengono utilizzati per i modelli di dati.
Test 11 [Bit fade test, 90 min, 2 pattern]
Il test di dissolvenza dei bit inizializza tutta la memoria con uno schema e quindi si ferma per 5 minuti. Quindi viene esaminata la memoria per verificare se sono stati modificati bit di memoria. Vengono utilizzati tutti e tutti i modelli zero.
Poiché i settori danneggiati possono talvolta funzionare e non funzionare un'altra volta, consiglio di lasciare a MemTest alcuni passaggi. Un passaggio completo è una serie di test completata che è stata superata. (Le precedenti serie di test 1-11) Più passaggi si ottengono senza errori, più accurata sarà la corsa MemTest. Di solito corro circa 5 passaggi per essere sicuro.
Il conteggio degli errori per la memoria integra deve essere 0. Qualsiasi numero superiore a 0 può indicare settori danneggiati / difettosi.
Il conteggio degli errori ECC deve essere preso in considerazione solo quando ECC
è impostato su off
. ECC è l'acronimo di Error-correcting memory memory ed è un meccanismo per rilevare e correggere bit errati in uno stato di memoria. Può essere paragonato leggermente ai controlli di parità effettuati su RAID o supporti ottici. Questa tecnologia è piuttosto costosa e probabilmente si troverà solo nelle impostazioni del server. Il conteggio ECC conta quanti errori sono stati corretti dal meccanismo ECC della memoria. L'ECC non dovrebbe essere invocato per RAM integra, quindi un conteggio degli errori ECC superiore a 0 può indicare anche memoria errata.
Spiegazione dell'errore
Esempio di Memtest che ha riscontrato errori. Mostra quale settore / indirizzo è fallito.
La prima colonna ( Tst ) mostra quale test ha avuto esito negativo, il numero corrisponde al numero di test dall'elenco già menzionato sopra. La seconda colonna ( Passa ) mostra se quel test è passato. Nel caso dell'esempio, il test 7 non ha passaggi.
La terza colonna ( Failing Address ) mostra esattamente quale parte della memoria presenta errori. Tale parte ha un indirizzo, molto simile a un indirizzo IP, che è unico per quella parte di archiviazione dei dati. Mostra quale indirizzo ha avuto esito negativo e quanto è grande il blocco di dati. (0,8 MB nell'esempio)
La quarta ( buona ) e quinta ( cattiva ) colonna mostrano i dati scritti e ciò che è stato recuperato rispettivamente. Entrambe le colonne dovrebbero essere uguali nella memoria non difettosa (ovviamente).
La sesta colonna ( Err-Bits ) mostra la posizione dei bit esatti che non funzionano.
La settima colonna ( Count ) mostra il numero di errori consecutivi con lo stesso indirizzo e bit non funzionanti.
Infine, l'ultima colonna sette ( Chan ) mostra il canale (se sul sistema sono utilizzati più canali) in cui si trova la striscia di memoria.
Se trova errori
Se MemTest rileva errori, il metodo migliore per determinare quale modulo è difettoso è trattato in questa domanda Super User e la sua risposta accettata:
Utilizzare il processo di eliminazione: rimuovere metà dei moduli ed eseguire nuovamente il test ...
Se non ci sono guasti, allora sai che questi due moduli sono buoni, quindi mettili da parte e testali di nuovo.
In caso di guasti, riduci di nuovo la metà (fino a uno dei quattro moduli di memoria ora), quindi riprova.
Ma, solo perché uno ha fallito un test, non dare per scontato che l'altro non fallisca (potresti avere due moduli di memoria difettosi) - dove hai rilevato un errore con due moduli di memoria, testa ciascuno di questi due separatamente in seguito .
Nota importante: con funzionalità come l'interleaving della memoria e schemi di numerazione dei socket dei moduli di memoria scadenti da parte di alcuni produttori di schede madri, può essere difficile sapere quale modulo è rappresentato da un determinato indirizzo.