Anzahl der Fehler

Anzahl der Fehler

Ich habe hier ein Notebook, bei dem ich vermute, dass es ein defektes Speichermodul hat. Ich habe mir deshalbMemtest86+und lass es laufen.

Beachten Sie, dass der Screenshot nicht mein tatsächlicher ist, er wird von memtest86+ bereitgestellt

memtest

Wie interpretiere ich die Zahlen auf dem Bildschirm? Ich habe es etwa vier Stunden laufen lassen und bin jetzt bei Durchgang 7.

Was bedeutet das insbesondere?

  • die Testnummer
  • die Anzahl der Fehler
  • die Anzahl der ECC-Fehler

angeben? Was sind sinnvolle Werte für Speicherfehler? Ab wann sollte ich einen Speicheraustausch in Betracht ziehen?

Antwort1

Kurz zusammengefasst

Die wichtigste Zahl zuerst:Die Fehleranzahl für einen gesunden Speicher sollte 0 sein. Jede Zahl über 0 kann auf beschädigte/fehlerhafte Sektoren hinweisen.


Bildschirmerklärung

     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

Daten/Testerklärung

MemTest führt eine Reihe von Tests durch, schreibt bestimmte Muster in jeden Sektor des Speichers und ruft sie ab. Wenn die abgerufenen Daten von den ursprünglich gespeicherten Daten abweichen, registriert MemTest einen Fehler und erhöht dieFehleranzahlnacheinander. Fehler sind normalerweise Anzeichen für fehlerhafte RAM-Streifen.

Da der Speicher nicht nur ein Notizblock ist, der Informationen speichert, sondern auch erweiterte Funktionen wie das Zwischenspeichern hat, werden verschiedene Tests durchgeführt. Dies ist, was dieTest #zeigt an. MemTest führt eine Reihe verschiedener Tests durch, um festzustellen, ob Fehler auftreten.

Einige (vereinfachte) Testbeispiele:

  • Testen Sie die Sektoren in dieser Reihenfolge: A, B, C, D, E, F. (Seriell)
  • Testen Sie die Sektoren in dieser Reihenfolge: A, C, E, B, D, F. (Bewegend)
  • Füllen Sie alle Sektoren mit dem Muster: aaaaaaaa
  • Füllen Sie alle Sektoren mit einem zufälligen Muster.

Genauere Beschreibung aller Tests von:https://www.memtest86.com/technical.htm#detailed

Test 0 [Adresstest, laufende, kein Cache]

Testet alle Adressbits in allen Speicherbänken mithilfe eines Walking-Ones-Adressmusters.

Test 1 [Adresstest, eigene Adresse, Sequentiell]

Jede Adresse wird mit ihrer eigenen Adresse geschrieben und dann auf Konsistenz geprüft. Theoretisch sollten vorherige Tests alle Probleme mit der Speicheradressierung aufgedeckt haben. Dieser Test sollte alle Adressierungsfehler aufdecken, die vorher irgendwie nicht erkannt wurden. Dieser Test wird sequenziell mit jeder verfügbaren CPU durchgeführt.

Test 2 [Adresstest, eigene Adresse, Parallel]

Wie Test 1, der Test wird jedoch parallel unter Verwendung aller CPUs und überlappender Adressen durchgeführt.

Test 3 [Verschiebbare Inversionen, Einsen und Nullen, sequentiell]

Dieser Test verwendet den Moving Inversions-Algorithmus mit Mustern aus lauter Einsen und Nullen. Der Cache ist aktiviert, obwohl er den Testalgorithmus in gewissem Maße beeinträchtigt. Mit aktiviertem Cache dauert dieser Test nicht lange und sollte schnell alle „schweren“ Fehler und einige subtilere Fehler finden. Dieser Test ist nur eine schnelle Überprüfung. Dieser Test wird sequenziell mit jeder verfügbaren CPU durchgeführt.

Test 4 [Verschieben von Inversionen, Einsen und Nullen, Parallel]

Wie Test 3, jedoch wird der Test parallel unter Verwendung aller CPUs durchgeführt.

Test 5 [Bewegte Inversionen, 8-Bit-Muster]

Dies ist dasselbe wie Test 4, verwendet jedoch ein 8 Bit breites Muster aus „wandernden“ Einsen und Nullen. Dieser Test erkennt subtile Fehler in „breiten“ Speicherchips besser.

Test 6 [Bewegte Inversionen, zufälliges Muster]

Test 6 verwendet denselben Algorithmus wie Test 4, aber das Datenmuster ist eine Zufallszahl und ihr Komplement. Dieser Test ist besonders effektiv beim Auffinden schwer zu erkennender datensensibler Fehler. Die Zufallszahlenfolge ist bei jedem Durchgang anders, sodass mehrere Durchläufe die Effektivität erhöhen.

Test 7 [Blockzug, 64 Züge]

Dieser Test belastet den Speicher durch die Verwendung von Blockverschiebungsanweisungen (movsl) und basiert auf Robert Redelmeiers burnBX-Test. Der Speicher wird mit Verschiebungsmustern initialisiert, die alle 8 Bytes invertiert werden. Dann werden 4-MB-Speicherblöcke mithilfe der movsl-Anweisung verschoben. Nach Abschluss der Verschiebungen werden die Datenmuster überprüft. Da die Daten erst nach Abschluss der Speicherverschiebungen überprüft werden, ist es nicht möglich, herauszufinden, wo der Fehler aufgetreten ist. Die gemeldeten Adressen gelten nur für die Stelle, an der das fehlerhafte Muster gefunden wurde. Da die Verschiebungen auf ein 8-MB-Speichersegment beschränkt sind, liegt die fehlerhafte Adresse immer weniger als 8 MB von der gemeldeten Adresse entfernt. Fehler aus diesem Test werden nicht zur Berechnung von BadRAM-Mustern verwendet.

Test 8 [Bewegte Inversionen, 32-Bit-Muster]

Dies ist eine Variante des Moving-Inversions-Algorithmus, der das Datenmuster für jede nachfolgende Adresse um ein Bit nach links verschiebt. Die Startbitposition wird bei jedem Durchgang nach links verschoben. Um alle möglichen Datenmuster zu verwenden, sind 32 Durchgänge erforderlich. Dieser Test ist recht effektiv beim Erkennen datenempfindlicher Fehler, die Ausführungszeit ist jedoch lang.

Test 9 [Zufallszahlenfolge]

Dieser Test schreibt eine Reihe von Zufallszahlen in den Speicher. Durch Zurücksetzen des Startwerts für die Zufallszahl kann dieselbe Zahlenfolge als Referenz erstellt werden. Das anfängliche Muster wird überprüft, dann ergänzt und beim nächsten Durchgang erneut überprüft. Im Gegensatz zum Test mit bewegten Inversionen kann das Schreiben und Überprüfen jedoch nur in Vorwärtsrichtung erfolgen.

Test 10 [Modulo 20, Einsen und Nullen]

Die Verwendung des Modulo-X-Algorithmus sollte Fehler aufdecken, die durch das Verschieben von Inversionen aufgrund von Cache- und Pufferinterferenzen mit dem Algorithmus nicht erkannt werden. Wie bei Test 1 werden für Datenmuster nur Einsen und Nullen verwendet.

Test 11 [Bit-Fade-Test, 90 min, 2 Muster]

Der Bit-Fade-Test initialisiert den gesamten Speicher mit einem Muster und schläft dann 5 Minuten lang. Anschließend wird der Speicher untersucht, um festzustellen, ob sich Speicherbits geändert haben. Es werden ausschließlich Einsen- und Nullenmuster verwendet.

Da fehlerhafte Sektoren manchmal funktionieren und ein anderes Mal nicht, empfehle ich, MemTest ein paar Durchläufe laufen zu lassen.passierenist eine abgeschlossene Testreihe, die bestanden wurde. (Die obigen Testreihen 1-11) Je mehr Durchläufe Sie ohne Fehler erhalten, desto genauer ist Ihr MemTest-Lauf. Ich führe normalerweise etwa 5 Durchläufe durch, um sicherzugehen.

Die FehleranzahlFür einen intakten Speicher sollte er 0 sein. Zahlen über 0 können auf beschädigte/fehlerhafte Sektoren hinweisen.

ECC-Fehleranzahlsollte nur berücksichtigt werden, wenn ECCauf eingestellt ist off. ECC steht für Error-correcting code memory und ist ein Mechanismus zum Erkennen und Korrigieren falscher Bits in einem Speicherzustand. Es kann leicht mit den Paritätsprüfungen verglichen werden, die bei RAID oder optischen Medien durchgeführt werden. Diese Technologie ist recht teuer und wird wahrscheinlich nur in Server-Setups eingesetzt. Der ECC-Zähler zählt, wie viele Fehler durch den ECC-Mechanismus des Speichers korrigiert wurden. ECC sollte für einen intakten RAM nicht aufgerufen werden müssen, daher kann ein ECC-Fehlerzähler über 0 auch auf einen fehlerhaften Speicher hinweisen.


Fehlererklärung

Beispiel eines Memtests, bei dem Fehler aufgetreten sind. Es zeigt, welcher Sektor/welche Adresse ausgefallen ist.

Memtest-Bildschirm mit Fehlern

Die erste Spalte (Tst) zeigt an, welcher Test fehlgeschlagen ist, die Nummer entspricht der Testnummer aus der bereits oben genannten Liste. Die zweite Spalte (Passieren) zeigt, ob dieser Testhatbestanden. Im Beispielfall gibt es für Test 7 keine bestandenen Tests.

Die dritte Spalte (Fehlgeschlagene Adresse) zeigt genau, welcher Teil des Speichers Fehler aufweist. Ein solcher Teil hat eine Adresse, ähnlich einer IP-Adresse, die für diesen Datenspeicher eindeutig ist. Es zeigt, welche Adresse ausgefallen ist und wie groß der Datenblock ist. (0,8 MB im Beispiel)

Die vierte (Gut) und fünftens (Schlecht) zeigen die Daten an, die geschrieben bzw. abgerufen wurden. Im fehlerfreien Speicher sollten beide Spalten gleich sein (natürlich).

Die sechste Spalte (Err-Bits) zeigt die Position der genauen Bits, die fehlerhaft sind.

Die siebte Spalte (Zählen) zeigt die Anzahl der aufeinanderfolgenden Fehler mit der gleichen Adresse und fehlerhaften Bits.

Schließlich ist die letzte, Spalte sieben (Chan) zeigt den Kanal an (wenn im System mehrere Kanäle verwendet werden), in dem sich der Speicherstreifen befindet.


Wenn Fehler gefunden werden

Wenn MemTest Fehler entdeckt, erfahren Sie in diesem Artikel, wie Sie am besten feststellen können, welches Modul fehlerhaft ist.diese Super User-Frageund die akzeptierte Antwort:

Wenden Sie das Ausschlussverfahren an – entfernen Sie die Hälfte der Module und führen Sie den Test erneut aus.

Wenn keine Fehler auftreten, wissen Sie, dass diese beiden Module in Ordnung sind. Legen Sie sie also beiseite und testen Sie sie erneut.

Treten Fehler auf, reduzieren Sie die Anzahl erneut auf die Hälfte (bis auf eines von jetzt vier Speichermodulen) und testen Sie erneut.

Aber gehen Sie nicht davon aus, dass das Gleiche gilt, nur weil eines den Test nicht bestanden hat (es kann sein, dass zwei Speichermodule ausgefallen sind). Wenn Sie einen Fehler bei zwei Speichermodulen festgestellt haben, testen Sie beide anschließend einzeln.

Wichtiger Hinweis: Aufgrund von Funktionen wie Speicher-Interleaving und mangelhaften Nummerierungsschemata für Speichermodulsockel mancher Motherboard-Anbieter kann es schwierig sein, herauszufinden, welches Modul durch eine bestimmte Adresse repräsentiert wird.

Antwort2

Testnummer: die Nummer des spezifischen Tests, den Memtest gerade ausführt. Es gibt viele davon.

Anzahl der Fehler: Die Anzahl der aufgetretenen Speicherfehler

ECC-Fehler: Anzahl der durch ECC korrigierten Fehler. Ihr Chipsatz/Speicher hat kein ECC, daher spielt diese Zahl keine Rolle.

Wenn Ihr Speicher eine Fehleranzahl über 0 aufweist, sollten Sie ihn ersetzen.

EDIT: Die Tests sind die verschiedenen Muster, die memtest in den Speicher schreibt. Es schreibt verschiedene Muster in den Speicher und liest sie zurück, um nach Fehlern zu suchen, und es verwendet verschiedene Muster, um alle Zustände aller Bits testen zu können.

Die Anzahl gibt an, wie oft das in Memtest zurückgelesene Ergebnis nicht mit dem in den Speicher geschriebenen Ergebnis übereinstimmte, was darauf hinweist, dass im getesteten Speicherblock ein Fehler vorliegt.

ECC ist eine Fehlerkorrekturtechnologie, die in Speicherchips für Server und Workstations integriert ist. Die meisten Desktops unterstützen keine Speichermodule mit integriertem ECC. Fast alle Server/Workstations unterstützen es und benötigen es normalerweise auch. Die Anzahl der von ECC korrigierten Fehler entspricht der Anzahl der Fehler, die der ECC-Chip erfolgreich behoben hat.

Antwort3

Anzahl der Fehler

Wenn beim Durchlaufen der Tests der Speicher bei einem der Tests fehlschlägt, wird die Anzahl der Fehler erhöht. Wenn ich mich richtig erinnere, zählt es die Anzahl der Adressen, die den Test nicht bestanden haben.

Anzahl der ECC-Fehler

ECC-Speicherist ein spezieller Speicherchip, der dazu dient, Daten vor Beschädigungen zu schützen. In Ihrer ECC ErrsSpalte ist aufgeführt, wie viele Probleme durch ECC behoben wurden.

(ECC ist langsam und teuer und ist grundsätzlich für unternehmenskritische Systeme gedacht, bei denen es keinen Sinn macht, den RAM auszutauschen.)

Testnummer

Memtest führt verschiedene Tests Ihres Speichers durch, die im AbschnittMemtest86Website. Hier eine schnelle, einfache englische Übersetzung:

Test 0: Walking Ones Adresstest

Memtest schreibt 00000001in den ersten Speicherort, 00000010in den nächsten und so weiter. Dieses Muster wird alle 8 Bytes wiederholt. Anschließend liest es den Speicher und stellt sicher, dass sich der Wert nicht geändert hat. (Quelle)

Tests 1&2: Eigener Adress-Adresstest

Memtest schreibt jeden Speicherplatz mit einer eigenen Adresse und prüft, ob sich der Wert geändert hat.

Test 1 ist sequentiell und Test 2 ist parallel (d. h. es wird Gleichzeitigkeit verwendet).

Test 3 und 4Test für bewegte Inversionen

Im Wesentlichen lädt dieser Test Nullen in den Speicher und dann

  1. nimmt jeden Speicherplatz ein (beginnend mit dem ersten/untersten Speicherplatz),
  2. und schreibt die Umkehrung des Musters (ich würde annehmen, dass es ein bitweises NICHT ist, aber ich konnte keine Dokumentation dazu finden).

Das Ziel besteht hier darin, jedes Bit und die angrenzenden Bits zu testen, also „jede mögliche Kombination aus Nullen und Einsen“.

Im Test 3 wird keine Parallelität verwendet, im Test 4 schon.

Test 5: Bewegte Inversionen, 8-Bit-Pat

Dadurch wird die Methode der gleitenden Inversionen erneut ausgeführt, dieses Mal jedoch mit den laufenden Einsen aus Test 0 in 8-Bit-Blöcken.

Test 6: Bewegte Inversionen, zufälliges Muster

Memtest verwendet Zufallszahlen anstelle von lauter Nullen oder laufenden Einsen.

Test 7: Blockbewegung

Das hier macht Spaß. Es lädt Muster in den Speicher, verschiebt sie in 4-MB-Blöcken und überprüft sie.

Test 8: Bewegte Inversion, 32-Bit-Pat

Wie Test 5, verwendet aber stattdessen 32-Bit-Blöcke. Dieser lädt tatsächlich jeden möglichen 32-Bit-Wert an jedem Speicherort.

Test 9: Zufallszahlen

Dieser lädt Pseudozufallszahlen in den Speicher und überprüft sie. Das Coole am Pseudozufallszahlengenerator ist, dass er nicht sehr zufällig ist (wenn Sie jemals printf("%d", rand());ein C-Programm ohne Seeding ausgeführt und die ach so zufällige Zahl 41 erhalten haben, wissen Sie, was ich meine). Er überprüft also, indem er den Zufallszahlen-Seeder zurücksetzt und den Generator erneut ausführt.

Test 10: Modulo-X

Alle 20 Stellen schreibt es ein Muster (alles Nullen oder alles Einsen) und schreibt das Komplement an alle anderen Stellen und führt anschließend eine Überprüfung durch.

Test 11: Bit-Fade-Test

Dieser lädt den RAM nur mit Einsen (und noch einmal mit Nullen), wartet 5 Minuten und prüft, ob sich einer der Werte ändert.

verwandte Informationen