Memtest86 - Ein eigenständiger Speicher Diagnostic Memtest86 ist gründlicher, eigenständiger Gedächtnistest für x86 Architekturcomputer. BIOS-basierte Speicher-Tests sind nur eine schnelle Überprüfung und oft fehlen viele der Ausfälle, die von Memtest86 erkannt werden. Memtest86 wird unter Version 2 der Gnu Public License (GPL) veröffentlicht. Es gibt keine Beschränkungen für die Nutzung, private oder kommerzielle, und es kann frei verteilt werden. Download Memtest86 2.8 Release Memtest86 2.7 Release-Erweiterungen in v2.8 Eric Biederman überarbeitete den Build-Prozess, so dass es viel einfacher und auch ein Netzwerk bootfähiges ELF-Image zu produzieren. Re-schrieb den Speicher und Cache-Geschwindigkeit Erkennungscode. Zuvor waren die gemeldeten Zahlen für Intel CPUs ungenau und völlig falsch für den Athlon und Duron. Deaktiviert die serielle Konsole standardmäßig, da sie das Testen verzögert hat. Zusätzliche CPU-Erkennung für Pentium 4 Kleinere Fehlerbehebungen Download - Linux Memtest86 v2.8 Quelle und binäres Paket-Download - Vorkompiliert Memtest86 v2.8 kann von Windows und DOS installiert werden Da Memtest86 ein eigenständiges Programm ist, benötigt es keine Betriebssystemunterstützung für die Ausführung . Es kann mit jedem PC verwendet werden, unabhängig davon, welches Betriebssystem, falls vorhanden, installiert ist. Das Testbild kann von einer Diskette geladen oder über LILO auf Linux-Systemen geladen werden. Jedes Unix-, Windows - oder DOS-System kann verwendet werden, um eine Bootdiskette zu erstellen. Memtest86 hat eine begrenzte Anzahl von Online-Befehlen. Online-Befehle bieten die Kontrolle über Cache-Einstellungen, Fehlerbericht-Modi, Testauswahl und Testadressbereich. Am unteren Bildschirmrand wird eine Hilfeleiste angezeigt, in der die verfügbaren Online-Befehle aufgelistet sind. Memtest hat zwei Möglichkeiten, Fehler zu melden. Standardmäßig werden einzelne Fehler gemeldet. Memtest ist auch in der Lage, Muster zu erstellen, die von der Linux BadRAM-Funktion verwendet werden. Diese glatte Funktion ermöglicht es Linux, schlechte Speicherseiten zu vermeiden. Details zur BadRAM-Funktion finden Sie unter: home. zonnet. nl/vanrein/badram Für einzelne Fehler werden bei einem Speicherfehler folgende Informationen angezeigt. Eine Fehlermeldung wird nur bei Fehlern mit einer anderen Adresse oder einem fehlerhaften Bitmuster angezeigt. Alle angezeigten Werte sind hexadezimal. Tst: Testnummer Ausfalladresse: Ausfallende Speicheradresse Gut: Erwartetes Datenmuster Schlecht: Ausfallendes Datenmuster Err-Bits: Exklusiv oder von guten und schlechten Daten (zeigt die Position des ausfallenden Bits an) Anzahl: Anzahl aufeinanderfolgender Fehler Mit der gleichen Adresse und fehlerhaften Bits Bitte beachten Sie, dass nicht alle von Memtest86 gemeldeten Fehler auf schlechtes Gedächtnis zurückzuführen sind. Der Test prüft implizit die CPU-, L1- und L2-Caches sowie das Motherboard. Es ist unmöglich für den Test zu bestimmen, was bewirkt, dass der Fehler auftritt. Allerdings sind die meisten Fehler aufgrund eines Problems mit dem Speicher. Ist dies nicht der Fall, besteht die einzige Möglichkeit, die Teile zu ersetzen, bis der Fehler behoben ist. Sobald ein Speicherfehler erkannt wurde, ist die Bestimmung des fehlerhaften SIMM / DIMM-Moduls kein eindeutiger Schnittvorgang. Mit der großen Anzahl von Motherboard-Herstellern und möglichen Kombinationen von SIMM-Steckplätzen wäre es schwierig, wenn nicht unmöglich, vollständige Informationen darüber zusammenzustellen, wie ein bestimmter Fehler einem fehlerhaften Speichermodul zugeordnet würde. Es gibt jedoch Schritte, die getroffen werden können, um das fehlerhafte Modul zu bestimmen. Hier sind vier Techniken, die Sie verwenden können: 1) Entfernen von Modulen Dies ist die einfachste Methode, um fehlerhafte Module zu isolieren, kann aber nur verwendet werden, wenn ein oder mehrere Module aus dem System entfernt werden können. Durch das selektive Entfernen von Modulen aus dem System und dem Ausführen des Tests können Sie die fehlerhaften Module finden. Achten Sie darauf, genau festzustellen, welche Module im System sind, wenn der Test läuft und wenn der Test fehlschlägt. 2) Drehende Module Wenn keine Module entfernt werden können, können Sie Module drehen, um die fehlende zu finden. Diese Technik kann nur verwendet werden, wenn es drei oder mehr Module im System gibt. Ändern Sie die Position von zwei Modulen gleichzeitig. Zum Beispiel setzen Sie das Modul aus Steckplatz 1 in Steckplatz 2 und setzen Sie das Modul aus Steckplatz 2 in Steckplatz 1. Führen Sie den Test und wenn entweder das fehlerhafte Bit oder die Adresse ändert, dann wissen Sie, dass das fehlerhafte Modul eines der gerade verschoben ist. Durch die Verwendung von mehreren Kombinationen der Modulbewegung sollten Sie feststellen können, welches Modul ausgefallen ist. 3) Austauschen von Modulen Wenn Sie keine der vorherigen Techniken verwenden können, müssen Sie einen selektiven Austausch der Module durchführen, um den Fehler zu finden. 4) Vermeidung von Zuweisungen Der Druckmodus für BadRAM-Muster dient zum Erstellen von Startzeitparametern für einen Linux-Kernel, der mit der BadRAM-Unterstützung kompiliert wird. Dieses Work-around ermöglicht es Linux, zuverlässig auf Ihrem durchschnittlich beschädigten RAM laufen zu können (oder deutlich Panik wenn es nicht geht). Weitere Informationen über die BadRAM-Unterstützung für Linux, sail to home. zonnet. nl/vanrein/badram Manchmal treten Speicherfehler aufgrund von Komponenten-Inkompatibilität auf. Ein Speicher-DIMM / SIMM kann in einem System und nicht in einem anderen funktionieren. Dies ist nicht ungewöhnlich und ist eine Quelle der Verwirrung. Die Komponenten sind nicht unbedingt schlecht, aber bestimmte Kombinationen müssen vermieden werden. Ich werde oft nach der Zuverlässigkeit der von Mestest86 gemeldeten Fehler gefragt. In der überwiegenden Mehrheit der Fälle sind die durch die Prüfung gemeldeten Fehler gültig. Es gibt einige Systeme, die bewirken, dass Memtest86 über die Größe des Speichers verwechselt wird und es wird versuchen, nicht vorhandenen Speicher zu testen. Dies führt dazu, daß eine große Anzahl von aufeinanderfolgenden Adressen als schlecht gemeldet wird und im allgemeinen gibt es viele Bits im Fehlerfall. Wenn Sie eine relativ kleine Anzahl fehlerhafter Adressen und nur ein oder zwei Bit fehlerhaft haben, können Sie sicher sein, dass die Fehler gültig sind. Auch intermittierende Fehler sind immer gültig. Alle gültigen Speicherfehler sollten korrigiert werden. Es ist möglich, dass ein bestimmter Fehler niemals im Normalbetrieb auftaucht. Allerdings ist die Arbeit mit marginalen Speicher riskant und kann zu Datenverlust und sogar Festplatte Korruption führen. Sie können sicher sein, dass Murphy erhalten Sie, wenn Sie über einen Speicher-Fehler wissen und ignorieren. Memtest86 kann nicht viele Typen von PC-Ausfällen diagnostizieren. Zum Beispiel eine fehlerhafte CPU, die Windows zum Absturz bringen wird wahrscheinlich nur dazu führen, dass Memtest86 auf die gleiche Weise abstürzen. Die für einen kompletten Pass von Memtest86 benötigte Zeit hängt stark von der CPU-Geschwindigkeit, der Speichergeschwindigkeit und der Speichergröße ab. Hier sind die Ausführungszeiten von einem PentiumII-366 mit 64 MB RAM: Total (alle Tests) Memtest86 fährt unbegrenzt fort. Der Durchlaufzähler erhöht sich jedes Mal, wenn alle ausgewählten Tests ausgeführt wurden. Im Allgemeinen reicht ein einziger Durchgang aus, um alle bis auf die dunkelsten Fehler zu erfassen. Jedoch, für volles Vertrauen, wenn intermittierende Störungen vermutet werden, die Prüfung für einen längeren Zeitraum wird empfohlen. Es gibt viele gute Ansätze für die Prüfung Speicher. Allerdings werfen viele Tests einfach einige Muster an Speicher ohne viel Gedanke oder Kenntnis der Speicherarchitektur oder wie Fehler am besten erkannt werden können. Dies funktioniert gut für harte Speicherausfälle, aber wenig, um intermittierende Fehler zu finden. Die BIOS-basierten Speichertests sind nutzlos für die Suche nach intermittierenden Speicherfehlern. Die Speicherchips bestehen aus einem großen Feld von dicht gepackten Speicherzellen, eines für jedes Datenbit. Die überwiegende Mehrheit der intermittierenden Ausfälle ist ein Ergebnis der Interaktion zwischen diesen Speicherzellen. Oft kann das Schreiben einer Speicherzelle bewirken, dass eine der benachbarten Zellen mit denselben Daten geschrieben wird. Ein wirksamer Speichertest sollte versuchen, diese Bedingung zu testen. Daher wäre eine ideale Strategie für den Test des Speichers die folgenden: 1) schreiben Sie eine Zelle mit einer Null 2) schreiben Sie alle benachbarten Zellen mit einer, ein oder mehrmals 3) überprüfen, dass die erste Zelle noch eine Null hat Es sollte Dass diese Strategie eine genaue Kenntnis davon erfordert, wie die Speicherzellen auf dem Chip angeordnet sind. Darüber hinaus gibt es eine nie endende Anzahl von möglichen Chip-Layouts für verschiedene Chip-Typen und Hersteller macht diese Strategie unpraktisch. Es gibt jedoch Testalgorithmen, die dieses Ideal approximieren können. Memtest86 verwendet zwei Algorithmen, die eine vernünftige Annäherung der idealen Teststrategie oben bereitstellen. Die erste dieser Strategien heißt bewegliche Inversionen. Der Bewegtinversions-Test funktioniert wie folgt: 1) Füllen des Speichers mit einem Muster 2) Beginnt bei der niedrigsten Adresse 2a Überprüfen, dass das Muster sich nicht geändert hat 2b Schreiben Sie das Musterkomplement 2c erhöhen Sie die Adressenwiederholung 2a - 2c 3) Beginnt mit der höchsten Adresse 3a überprüfen, dass das Muster nicht geändert wurde 3b schreiben Sie die Muster Komplement 3c dekrementieren die Adresse wiederholen 3a - 3c Dieser Algorithmus ist eine gute Annäherung an einen idealen Gedächtnistest, aber es gibt einige Einschränkungen. Die meisten Chips hoher Dichte speichern heute Daten von 4 bis 16 Bits breit. Bei Chips, die mehr als ein Bit breit sind, ist es unmöglich, nur ein Bit selektiv zu lesen oder zu schreiben. Dies bedeutet, dass wir nicht garantieren können, dass alle benachbarten Zellen auf Wechselwirkungen getestet wurden. In diesem Fall ist es am besten, einige Muster zu verwenden, um sicherzustellen, dass alle benachbarten Zellen mindestens mit allen möglichen Kombinationen von eins und null geschrieben worden sind. Es ist auch ersichtlich, dass das Caching, die Pufferung und die Ausführung außerhalb der Ordnung den bewegten Inversionsalgorithmus stören und weniger effektiv machen. Es ist möglich, den Cache auszuschalten, aber die Speicherpufferung in neuen Hochleistungschips kann nicht deaktiviert werden. Um diese Limitation zu adressieren, wurde ein neuer Algorithmus namens Modulo-X erstellt. Dieser Algorithmus wird nicht durch Cache oder Pufferung beeinflusst. Der Algorithmus arbeitet wie folgt: 1) Für den Beginn von Offsets von 0 - 20 do 1a schreiben Sie jede 20. Position mit einem Muster 1b schreiben Sie alle anderen Orte mit den Mustern komplementieren Wiederholung 1b ein oder mehrere Male 1c überprüfen Sie jede 20. Stelle für das Muster Dieser Algorithmus erreicht Nahezu das gleiche Niveau der Adjacency-Tests wie sich bewegende Inversionen, ist aber nicht durch Caching oder Pufferung betroffen. Da getrennte Schreibdurchläufe (1a, 1b) und der Lesedurchlauf (1c) für den gesamten Speicher durchgeführt werden, können wir sicher sein, dass alle Puffer und Cache zwischen den Pässen gespült worden sind. Die Auswahl von 20 als die Schrittlänge war etwas willkürlich. Größere Fortschritte können effektiver sein, würden aber länger dauern. Die Wahl von 20 schien ein vernünftiger Kompromiss zwischen Geschwindigkeit und Gründlichkeit zu sein. Memtest86 führt eine Reihe von nummerierten Testabschnitten aus, um nach Fehlern zu suchen. Diese Testabschnitte bestehen aus einer Kombination aus Testalgorithmus, Datenmuster und Cache-Einstellung. Die Ausführungsreihenfolge für diese Tests wurde so angeordnet, dass Fehler so schnell wie möglich erkannt werden. Die Tests 8, 9, 10 und 11 sind sehr lange laufende erweiterte Tests und werden nur ausgeführt, wenn erweiterte Tests ausgewählt werden. Die erweiterten Tests haben eine geringe Wahrscheinlichkeit, Fehler zu finden, die durch die Standardtests verpasst wurden. Eine Beschreibung der einzelnen Testabschnitte folgt: Test 0 Adreßtest, gehende, kein Cache Testet alle Adreßbits in allen Speicherbänken, indem ein gehendes Adressmuster verwendet wird. Test 1 Moving Inv, oneszeros, cached Dieser Test verwendet den Algorithmus der beweglichen Inversionen mit Mustern von nur Einsen und Nullen. Der Cache wird aktiviert, obwohl er in gewissem Maße mit dem Testalgorithmus interferiert. Mit Cache aktiviert dieser Test dauert nicht lange und sollte schnell finden alle harten Fehler und einige subtile Fehler. Dieser Test ist nur ein schneller Check. Test 2 Adressprüfung, eigene Adresse, kein Cache Jede Adresse wird mit einer eigenen Adresse geschrieben und dann auf Konsistenz geprüft. In der Theorie vorherigen Tests sollten alle Speicher-Adressierung Probleme gefangen haben. Dieser Test sollte alle Adressierungsfehler erfassen, die zuvor nicht erkannt wurden. Test 3 Bewegen von inv, 8-Bit-Pat, zwischengespeichert Dies ist das gleiche wie Test ein, aber verwendet ein 8-Bit breite Muster zu Fuß und Nullen. Dieser Test wird besser erkennen, subtile Fehler in weiten Speicherchips. Insgesamt werden 20 Datenmuster verwendet. Test 4 Bewegen von inv, 32-Bit-Pat, zwischengespeichert Dies ist eine Variation des Verschiebungsinversions-Algorithmus, der das Datenmuster, das ein Bit für jede aufeinanderfolgende Adresse verlagert, verschiebt. Die Startbitposition wird für jeden Durchlauf nach links verschoben. Um alle möglichen Datenmuster zu verwenden, sind 32 Pässe erforderlich. Dieser Test ist wirksam bei der Erfassung von empfindlichen Fehlern in weiten Speicherchips. Test 5 Block move, 64 moves, cached Dieser Test unterstreicht den Speicher durch die Verwendung von block move (movsl) Anweisungen 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 mit dem Befehl movsl verschoben. Nachdem die Bewegungen abgeschlossen sind, werden die Datenmuster überprüft. Da die Daten erst nach Abschluss der Speicherbewegungen überprüft werden, ist es nicht möglich zu wissen, wo der Fehler aufgetreten ist. Die angegebenen Adressen sind nur dort, wo das schlechte Muster gefunden wurde. Da die Bewegungen auf ein 8-MB-Segment des Speichers beschränkt sind, wird die fehlerhafte Adresse immer weniger als 8 MB von der gemeldeten Adresse entfernt sein. Fehler aus diesem Test werden nicht zur Berechnung von BadRAM-Mustern verwendet. Test 6 Modulo 20, oneszeros, im Cache Mit dem Modulo-X-Algorithmus sollten Fehler aufgedeckt werden, die nicht durch Verschieben von Inversionen aufgrund von Cache - und Pufferinterferenzen mit dem Algorithmus erkannt werden. Wie beim Test werden für Datenmuster nur Einsen und Nullen verwendet. Test 7 Moving inv, oneszeros, kein Cache Dies ist das gleiche wie Test ein, aber ohne Cache. Mit Cache aus wird es viel weniger Interferenzen mit dem Test-Algorithmus. Allerdings ist die Ausführungszeit viel, viel länger. Dieser Test kann sehr subtile Fehler von früheren Tests verpasst finden. Test 8 Block bewegen, 512 bewegt, im Cache Dies ist der erste erweiterte Test. Dies ist die gleiche wie Test 5, außer dass wir mehr Speicherbewegungen vor dem Überprüfen des Speichers machen. Fehler aus diesem Test werden nicht zur Berechnung von BadRAM-Mustern verwendet. Test 9 Bewegen von inv, 8-Bit-Pat, kein Cache Durch Verwendung eines 8-Bit-Patterns mit Cache aus dieser Test sollte wirksam bei der Erkennung aller Arten von Fehlern. Jedoch dauert es eine sehr lange Zeit zum Ausführen und es gibt eine geringe Wahrscheinlichkeit, dass es Fehler erkennt, die nicht durch die vorherigen Tests gefunden wurden. Test 10 Modulo 20, 8 Bit, zwischengespeichert Dies ist der erste Test, der den Modulo-X-Algorithmus mit einem anderen Datenmuster als Einsen und Nullen verwendet. Diese Kombination aus Algorithmus und Datenmuster sollte sehr effektiv sein. Seine sehr lange Ausführungszeit verweist jedoch auf die erweiterte Testsektion. Test 11 Bewegen von inv, 32-Bit-Pat, kein Cache Dieser Test sollte am effektivsten sein, um Fehler zu finden, die Datenmuster empfindlich sind. Jedoch ohne Cache ist seine Ausführungszeit übermäßig lang. Bootstrap und Setup-Code wird verwendet, um Memtest86 zu laden. Dieser Code lädt den Test, richtet Speicherverwaltungsregister ein und tut verschiedenes Setup. Wenn die Last und das Setup abgeschlossen sind, ist die Speicherzuordnung wie folgt: Die Verschiebung des Tests wird durch die Verwendung von zwei Kopien des Testcodes, die für die Ausführung an verschiedenen Adressen (unterschiedliche Ursprünge) erstellt wurden, erreicht. Wenn der Test gestartet wird, wird der Code mit einem Ursprung 0x1000 ausgeführt. Am Ende der Testphase wird der Speicherblock von 0x1000 bis 0xe400 auf 0x101000 kopiert, der Stack auf 0x101000 gesetzt und springt dann zur Adresse 0x108800 (der Code mit einem Ursprung 0x108800). Wenn der Code verlagert wird, werden nur die ersten 640k Speicher ausgewertet. Wenn dieser Test abgeschlossen ist, wird der Code wieder auf 0x1000 zurückgesetzt, der Stack wird zurück auf 0x1000 gesetzt und dann springen wir zu 0x1000 (der Code mit einem Ursprung von 0x1000). Wenn Memtest86 in den Speicher geladen wird, scannt er zuerst den Speicher, um alle Segmente des verfügbaren Lese - / Schreibspeichers (DRAM) zu finden. DRAM wird identifiziert, indem ein Ort gelesen und dann sein Komplement geschrieben wird. Wenn sich mindestens ein Bit in jedem Byte ändert, nehmen wir an, dass es ein DRAM ist. Um Zeit zu sparen, tun wir nur diese Überprüfung alle 1k Bytes. Der gesamte Speicher von 0xa0000 bis 0xfffff wird übersprungen. Jedes Segment des Speichers wird auf der rechten Seite des Bildschirms angezeigt. Alle Segmente des Speichers, die gefunden werden, werden unabhängig von der Größe getestet werden. Der Speicher-Scan ist auf die maximale Speichergröße begrenzt, die vom Motherboard unterstützt wird. Aufgrund der wachsenden Popularität von Memtest86 werde ich von, Fragen, Feedback, Problemberichte und Anfragen nach Verbesserungen überflutet. Memtest86 ist ein Nebenprojekt und oft mein Tagesjob interferiert mit Memtest86 Unterstützung. Um mir bei diesem Projekt zu helfen, verwenden Sie bitte die folgenden Richtlinien. Probleme / Bugs Bevor Sie ein Problem melden, lesen Sie bitte den Abschnitt Bekannte Probleme, um zu sehen, ob dieses Problem bereits gemeldet wurde. Achten Sie darauf, die Versionsnummer und auch alle Details, die relevant sein können. Mit einigen PCs Memtest86 wird nur ohne Andeutungen, was schief gegangen zu sterben. Ohne jede Details ist es fast unmöglich, diese Fehler zu beheben. Die Behebung dieser Probleme erfordert Debugging-Unterstützung auf Ihrer Seite. Es gibt keinen Punkt bei der Meldung dieser Ausfälle, es sei denn, Sie haben ein Linux-System und wäre bereit, mich bei der Suche nach dem Ausfall zu unterstützen. Erweiterungen Wenn Sie eine Erweiterung anfordern möchten, sehen Sie bitte, ob Sie bereits auf der Liste der geplanten Features sind, bevor Sie Ihre Anfrage senden. Alle Anfragen werden berücksichtigt, aber nicht alle werden umgesetzt. Wenn Sie sich für den Beitrag Code interessiert sind, kontaktieren Sie mich bitte, damit die Integration koordiniert werden kann. Ich habe viel Feedback über die Wirksamkeit verschiedener Tests erhalten. Ich bin immer noch daran interessiert, von Fehlern zu hören, die nur ein einziger Test feststellen konnte. Natürlich werden Dankbarkeit, Lob und Spenden immer akzeptiert. Bittet und ihr werdet empfangen, aber es kann eine Weile dauern. Mit erheblicher Zurückhaltung setze ich auf eine geringe Key Solicitation für Spenden. Es war nie meine Absicht, von diesem Programm profitieren und ich freue mich, dass Memtest86 hilfreich war. Allerdings ist die Zeit, die zur Unterstützung dieses Programms erforderlich ist, in diesem Jahr deutlich gestiegen. Ich habe auch die bescheidenen Kosten Hosting dieser Website, die ich gerne wiederherstellen würde. Also, wenn Sie Memtest86 nützlich finden und Sie fühlen sich geneigt, eine kleine PayPal-Spende machen Sie dies tun. Verwenden Sie meine E-Mail-Adresse crsbradyearthlink. net für den Empfänger. Es gibt ein Problem mit der Speichergröße auf einigen alten 486 Motherboards. Eine Kompilierzeitoption (BIOSMEMSZ) zum Erhalten der letzten Speicheradresse aus dem BIOS wurde in Version 2.1 hinzugefügt. Dies wird dieses Problem für einige, aber nicht alle Motherboards zu beheben. In Version 2.2 wurde eine Online-Option zur Einstellung der oberen Speicheradresse hinzugefügt. Drücken Sie nach dem Test sofort die Taste c und verwenden Sie die Menüoptionen, um die obere Speichergrenze einzustellen. Manchmal beim Booten von einer Diskette blättern die folgenden Meldungen auf dem Bildschirm: Das BIOS-Reporting-Diskette liest Fehler. Entweder neu schreiben oder die Diskette werfen. Memtest86 unterstützt nicht mehr als 2 GB Arbeitsspeicher. Es gibt eine Reihe von schwierigen Problemen beim Überqueren der 2GB-Grenze, die benötigt werden, um 2GB-Speichergrößen zu unterstützen. Memtest86 wurde nicht für Fehlerkorrekturen (ECC) entwickelt oder getestet. Wenn ECC aktiviert ist, kann der Test nicht einzelne Bitfehler erkennen, sollte aber ansonsten korrekt ausgeführt werden. Memtest86 kann nicht viele Typen von PC-Ausfällen diagnostizieren. Zum Beispiel eine fehlerhafte CPU, die Windows zum Absturz bringen wird wahrscheinlich nur dazu führen, dass Memtest86 auf die gleiche Weise abstürzen. Memtest86 hat keine Unterstützung für mehrere Prozessoren. Memtest86 sollte ohne Probleme laufen, aber es wird nur eine CPU verwenden. Änderungen in Compiler und Loader haben Probleme mit Memtest86 verursacht, was sowohl Build-Fehler und Fehler in der Ausführung. Ein binäres Bild (precomp. bin) des Tests ist enthalten und kann verwendet werden, wenn Probleme auftreten. Dies ist eine Liste der für zukünftige Versionen von Memtest86 geplanten Erweiterungen. Es gibt keinen Zeitplan, wann diese umgesetzt werden, wenn überhaupt. Option zum Drucken von Fehlerinformationen auf einem angeschlossenen Drucker. Ein Startmenü zum Konfigurieren von Memtest86 vor dem Testen wird gestartet. Versorgung Memtest im RPM-Format. Lesen und Anzeigen von RAM-SPD-Informationen. Verbesserungen in v2.8 (18 / Oct / 2001) Eric Biederman überarbeitete den Build-Prozess, so dass es viel einfacher und auch ein Netzwerk bootfähiges ELF-Image zu produzieren. Re-schrieb den Speicher und Cache-Geschwindigkeit Erkennungscode. Zuvor waren die gemeldeten Zahlen für Intel CPUs ungenau und völlig falsch für den Athlon und Duron. Deaktiviert die serielle Konsole standardmäßig, da sie das Testen verzögert hat. Erweiterte CPU-Erkennung für Pentium 4 Kleine Bug-Fixes Verbesserungen in v2.7 (12 / Jul / 2001) Erweiterte Problemumgehung für Fehler, die durch BIOS-USB-Tastaturunterstützung verursacht werden, um den Test einzubeziehen 5. Wiederverarbeitung des L1 / L2-Cache-Erkennungscodes für eine klarere Berichterstellung. Ein offensichtlicher Fehler bei der Berechnung von Cache - und Speichergeschwindigkeiten wurde behoben. Zum Deaktivieren der seriellen Konsole wurde eine Menüoption hinzugefügt. Geändertes Online-Menü, um im Menü zwischen den Auswahlmöglichkeiten zu bleiben. Fehler im Test-Neustart behoben und Code neu erstellen. Adjusted Code-Größe, um Compilation Probleme mit RedHat 7.1 zu beheben. Verschiedene Aktualisierungen der Dokumentation. Verbesserungen in v2.6 (25 / Mai / 2001) Zusätzliche Problemumgehung für Fehler durch BIOS-USB-Tastaturunterstützung. Probleme bei der Meldung von 1 GHz-Prozessorgeschwindigkeiten behoben. Feste Duron-Cache-Erkennung. Bildschirmpuffer hinzugefügt, damit Menüs von einer seriellen Konsole aus korrekt funktionieren. Das Memtest86-Image ist jetzt im ELF-Format erstellt. Verbesserungen in v2.5 (13 / Dec / 00) Verbesserte CPU - und Cache-Erkennung zur korrekten Identifizierung von Duron CPU und K6-III 1mb Cache. Zusätzlicher Code zum Auslesen der Cache-fähigen Speichergröße. Eingeschränkte Unterstützung für Paritätsspeicher. Unterstützung wurde hinzugefügt, um die Verwendung von Online-Befehlen von einem seriellen Port zu ermöglichen. Dropped-Option zum Ändern der Aktualisierungsraten. Dies war nicht sinnvoll und arbeitete nicht auf neueren Motherboards. Verbesserte schwerwiegende Ausnahmeberichterstattung, die ein Register und einen Stapel-Speicher enthält. Die Passnummer wird nun im Fehlerbericht angezeigt. Ein Fehler wurde behoben, der den Test bei der Auswahl eines der erweiterten Tests abgestürzt hat. Erweiterungen in v2.4 Das Fehlerberichtformat wurde zur besseren Übersicht überarbeitet und enthält nun eine Dezimaladresse in Megabyte. Ein neuer Speicherbewegungstest wurde hinzugefügt (von Robert Redelmeiers CPU-Burn) Die Testsequenz und die Iterationen wurden modifiziert. Fixed Scroll-Probleme mit dem BadRAM-Muster. Aktualisierte und verbesserte CPU - und Cache-Erkennung. Verbesserungen in v2.3 Messungen und Berichte von Speicher - und Cache-Performance wurden hinzugefügt. Alle Testroutinen wurden in Assembler umgeschrieben, um sowohl Fehlererkennung als auch Geschwindigkeit zu verbessern. Ein Fortschrittsmessgerät wurde hinzugefügt, um die Durchlauf - und Testbeendigung zu zeigen. Das Bildschirmlayout wurde überarbeitet, um hoffentlich besser lesbar zu sein. Unterstützung für das Erstellen von BadRAM-Mustern wurde hinzugefügt. Eine Fehlerzusammenfassungsoption wurde zu den Online-Befehlen hinzugefügt. Verbesserungen in v2.2 Zwei neue Adreßtests hinzugefügt. Zum Einstellen des Testadressbereichs wurde ein Online-Befehl hinzugefügt. Optimierter Testcode für schnellere Ausführung (-O3, - funroll-loops und - fomit-frame-pointer). Zeitzähler hinzugefügt und verstrichen. Angepasste Menüoptionen für eine bessere Konsistenz. Verbesserungen in v2.1 Ein Fehler in der CPU-Erkennung wurde behoben, bei dem der Test mit einigen 486 und Cryrix-CPUs aufhörte oder abstürzte. Hinzugefügte CPU-Erkennung für Cyrix-CPUs Erweiterte und verbesserte CPU-Erkennung für Intel - und AMD-CPUs Added a compile time option (BIOSMEMSZ) Um die letzte Speicheradresse aus dem BIOS zu erhalten. Dies sollte Probleme mit der Speichergröße auf bestimmten Motherboards beheben. Diese Option ist standardmäßig nicht aktiviert. Sie kann in einer zukünftigen Version standardmäßig aktiviert werden. Verbesserungen in v2.0 Neuer Modulo-20 Testalgorithmus hinzugefügt. Ein 32-Bit-Verschiebungsmuster wurde dem beweglichen Inversionsalgorithmus hinzugefügt. Erstellt Testabschnitte, um Algorithmus, Muster, Cache und Bildwiederholfrequenz festzulegen. Verbesserte Testfortschrittsindikatoren. Erstellt Popup-Menüs für die Konfiguration. Menü zur Testauswahl hinzugefügt. CPU - und Cache-Identifikation hinzugefügt. Eine Bailout-Funktion hinzugefügt, um den aktuellen Test zu beenden, wenn er nicht zu den Testauswahlparametern passt. Das Layout und die Farben wurden neu angeordnet. Erstellt lokale Include-Dateien für I / O - und serielle Schnittstellendefinitionen, anstatt die manchmal inkompatiblen Systeminhaltsdateien zu verwenden. Der C-Quellcode wurde in vier separate Quellmodule aufgeteilt. Verbesserungen in v1.5 Einige zusätzliche Änderungen wurden vorgenommen, um obskure Speichergrößenprobleme zu beheben. Das 4 Bit breite Datenmuster wurde auf 8 Bits erhöht, da 8 Bit breite Speicherchips immer häufiger werden. Ein neuer Testalgorithmus wurde hinzugefügt, um die Erfassung von Datenmuster-empfindlichen Fehlern zu verbessern. Verbesserungen in v1.4 Änderungen an der Speichergröße, um Probleme mit einigen Motherboards zu vermeiden, bei denen Memtest86 mehr Speicher als tatsächlich vorhandene finden würde. Unterstützung für eine serielle Schnittstelle der Konsole wurde hinzugefügt. (Dank Doug Sisk) Zur sofortigen Konfiguration von Memtest86 stehen On-line Befehle zur Verfügung (siehe Online-Befehle). Verbesserungen in v1.3 Das Scrollen von Speicherfehlern ist nun vorgesehen. Bisher wurde nur ein Bildschirm mit Fehlerinformationen angezeigt. Memetest86 kann nun von jedem Datenträger über lilo gestartet werden. Die Erkennung von bis zu 4 GB Arbeitsspeicher wurde nun standardmäßig aktiviert. Diese Fähigkeit war klar in v1.2a gebrochen und sollte jetzt korrekt funktionieren, aber noch nicht vollständig getestet (4gb PCs sind ein bisschen selten). Die maximale Speichergröße, die vom Motherboard unterstützt wird, wird nun korrekt berechnet. In früheren Versionen gab es Fälle, in denen nicht alle Speicher getestet und die maximale Speichergröße unterstützt wurde, war falsch. Für einige Typen von Ausfällen wurden die guten und schlechten Werte mit einem Xor-Wert von 0 identisch gemeldet. Dies wurde behoben, indem die aus dem Speicher gelesenen Daten beibehalten wurden und die schlechten Daten in der Fehlerberichtsroutine nicht erneut gelesen wurden. APM (Advanced Power Management) ist nun von Memtest86 deaktiviert. Dadurch wird der Bildschirm während des Tests nicht gelöscht. Probleme bei der Aktivierung der Deaktivierung des Caches auf einigen Motherboards wurden behoben. Die ursprünglichen Versionen der Quelldateien bootsect. S, setup. S, head. S und build. c stammen aus dem Linux 1.2.1-Kernel und wurden stark modifiziert. Doug Sisk stellte Code zur Unterstützung einer Konsole bereit, die über einen seriellen Port verbunden war. Code zu schaffen BadRAM-Muster wurde von Rick van Rein. Screen-Puffer-Code wurde von Jani Averbach zur Verfügung gestellt. Eric Biederman überarbeitete den Build-Prozess, so dass es viel einfacher und auch ein Netzwerk bootfähiges ELF-Image zu produzieren. Was ist MemTest86 MemTest86 ist die ursprüngliche, kostenlose, stand alone Gedächtnis-Test-Software für x86-Computer. MemTest86 Stiefel von einem USB-Stick oder CD und testet den RAM in Ihrem Computer für Fehler mit einer Reihe von umfassenden Algorithmen und Testmuster. Hauptmerkmale Die neueste Version von MemTest86 unterstützt alle aktuellen Technologien, darunter 13 verschiedene RAM-Testalgorithmen DDR4 RAM (und DDR2 DDR3) unterstützen XMP - Hochleistungsspeicherprofile UEFI - Der neue grafische Standard für BIOS 64bit - Ab Version 5 ist MemTest86 nativ 64-Bit-Code ECC RAM - Unterstützung für Fehlerkorrekturcode RAM Sicherer Start - Mit MemTest86, der von Microsoft Graphical Interface signiert ist, Mausunterstützung und Protokollierung der Ergebnisse auf der Festplatte Fremdsprachenunterstützung (Chinesisch, Deutsch mehr) Selbstbooten von USB oder CD, ohne DOS, Linux oder Windows-Netzwerk (PXE) - Skalierbare, diskettenlose Provisionierung von einem einzigen PXE-Server Dual-Booten - Auf V4 im BIOS und V7 im UEFI von einem einzigen Flash-Laufwerk booten Die Testalgorithmen wurden für über 20 Jahre entwickelt Jahre, mit dem Ursprung von MemTest86 gehen zurück zu 1994. Sehen Sie diese Seite für eine ausführlichere Geschichte von MemTest86 Warum MemTest86 verwenden Unzuverlässige RAM kann eine Vielzahl von Problemen verursachen. Beschädigte Daten, Abstürze und unerklärliche Verhaltensweisen. Bad RAM ist eines der frustrierendsten Computer Probleme zu haben, wie die Symptome sind oft zufällig und schwer zu pin down. MemTest86 kann helfen, fehlerhaftes RAM zu diagnostizieren (oder es als eine Ursache der Systeminstabilität auszuschließen). Als solches wird es oft von System-Builder, PC-Reparatur-Shops, Overclocker-PC-Hersteller verwendet. MemTest-Benennung Die Nummer 86 nach dem MemTest-Teil des Namens bezieht sich auf den ursprünglichen x86 CPU-Befehlssatz, den alle heutigen PCs verwenden. Dies umfasst sowohl 32-Bit-und 64-Bit-Maschinen. (Es gibt also keine Notwendigkeit für ein zukünftiges Produkt namens MemTest64). Free, Professional oder Site Edition Seit MemTest86 v5 wird die Software als Free Edition oder als bezahlte Pro - und Site-Edition angeboten. Die Pro Edition bietet eine Reihe zusätzlicher Features, wie z. B. eine anpassbare Reportautomatisierung über eine Konfigurationsdatei. Die Site Edition umfasst alle Funktionen der Pro Edition, unterstützt aber auch die skalierbare Bereitstellung von MemTest86 über LAN über PXE bootLAST UPDATE. 27.09.2013 Nach dem bekannten original memtest86 von Chris Brady ist memtest86 ein Port von einigen Mitgliedern des x86-geheimen Teams, die nun bei canardpc arbeiten. Unser Ziel ist es, eine aktuelle und vollständig verlässliche Version dieses Softwaretools zur Erinnerungsfehlererkennung zur Verfügung zu stellen. Memtest86 war, ist und wird immer eine kostenlose Open-Source-Software sein. Die ursprüngliche Memtest86 wird nun von PassMark Software Pty Ltd. Memtest86 wird unter den Bedingungen der Gnu Public License (GPL) veröffentlicht. Es gibt keine Nutzungsbeschränkungen, die privat oder gewerblich sind, außer denen, die in der Gnu Public License (GPL) erwähnt werden. Texte über die Originalversion stammen von Chris Brady. PS. Ein Newsletter für memtest86 Updates ist verfügbar / Spende für Memtest86 willkommen. Bitte unterstützen Sie kostenlose GPL-Software. Die erste Version von Memtest86 wurde Anfang 2004 veröffentlicht, basierend auf memtest86 v3.0, die seit Mitte 2002 nicht aktualisiert wurde. Unsere große Herausforderung war es, eine aktuelle Version dieses nützlichen Tools, zuverlässig als das Original zur Verfügung zu stellen. Unsere Arbeit begann mit dem ersten AMD64-System. Leider hat das ursprüngliche memtest v3.0 überhaupt nicht ausgeführt. Nachdem wir den Quellcode betrachtet haben, haben wir den Fehler behoben. Nach einigen Tagen sah ich viele andere Dinge wie Chipsätze oder CPUs, die nicht richtig erkannt oder überhaupt nicht erkannt wurden. Als Im der Chefredakteur einer französischen Hardware-Website (x86-Geheimnis jetzt in Canardpc integriert), habe ich Zugriff auf viele neue Hardware und ich kann testen und Debuggen auf alle gängigen Motherboards auf dem Markt. Nach dem Hinzufügen der Erkennung für alle aktuellen CPUs, Ive hinzugefügt Erkennung für alle aktuellen Chipsätze (SiS, VIA, nVidia, Intel) und ECC Polling für AMD64, i875P und E7205. Dann entschied ich mich, einige nützliche Einstellungen für die populärsten Chipsätze anzuzeigen. Beispielsweise zeigt memtest86 auf der i865PE / i875P-Serie nun FSB amp Speicherfrequenz, PAT-Status, Speicherzeitpunkte, ECC-Status und die Anzahl der Speicherkanäle an. Nächste Version wird vielleicht mehrere Verbesserungen und Bug-Fixes enthalten. Hier finden Sie die neuesten Änderungsprotokolle für memtest86. Neue Features Zusätzliche Unterstützung für bis zu 2 TB RAM auf X64-CPUs Hinzugefügte experimentelle SMT-Unterstützung für bis zu 32 Kerne (F2 zum Aktivieren beim Start) Komplette Erkennung für Speichercontroller hinzugefügt Zusätzliche Motherboard-Hersteller-Modellberichterstattung Added CPU temperature reporting Added enhanced Fail Safe Mode (F1 beim Start) Zusätzliche Unterstützung für Intel Sandy Bridge-E-CPUs Zusätzliche Unterstützung für Intel Ivy Bridge-CPUs Vorbereitende Unterstützung für Intel Haswell CPUs (Core 4th Gen) hinzugefügt Vorbereitende Unterstützung für Intel Haswell-ULT-CPUs hinzugefügt Unterstützung für AMD Kabini hinzugefügt (K16 ) CPUs Zusätzliche Unterstützung für AMD-CPUs Zusätzliche Unterstützung für AMD-CPUs Zusätzliche Unterstützung für AMD E - / C - / G - / Z - Bobcat-CPUs Zusätzliche Unterstützung für Intel Atom Pineview CPUs Zusätzliche Unterstützung für Intel Atom Cedar Trail-CPUs Die SPD-Erkennung wurde hinzugefügt most AMD Chipsets Bug Fixes Enforced Coreboot support Optimized run time for faster memory error detection Rewriten lots of memory timings detection cod Corrected bugs, bugs and more bugs (some could remain) Added failsafe mode (press F1 at startup) Added support for Intel Sandy Bridge CPU Added support for AMD fusion CPU Corrected some memory brands not detected properly t Various bug fixes Added support for Core i7 Extreme CPU (32nm) Added support for Core i5/i3 (32 nm) Added support for Pentium Gxxxx (32 mn) Added support for Westmere-based Xeon t Added preliminary support for Intel SNB A0-step Added support for AMD 6-cores CPU Added detection for Intel 3200/3210 New installer for USB Key Corrected a crash at startup Many others bug fixes Major Architectural changes First pass twice faster (reduced iterations) Detect DDR2/3 brands and part numbers on Intel DDR2/3 chipsets Added detection for Intel quotClarkdale/Gulftownquot CPU t Added detection for AMD quotMagny-Coursquot CPU Added detection for Intel XMP Memory Added for CPU w/ 0.5/1.5 /3/6/12/16/18/24MB L3 Added quotcleanquot DMI detection for DDR3/FBDIMM2 Corrected detection for Intel quotLynnfieldquot CPU Corrected detection for AMD 45nm K10 CPU Solved crash with AMD Geode LX Complies with SMBIOS 2.6.1 specs t Fixed compilation issues with gcc 4.2 Many others bug fixes PS. Memtest86 quot3.00quot was skipped and renamed 4.00 in order to avoid confusion with the original Memtest. Added support for Intel Core i5 (Lynnfield) CPU Added support for Intel P55 Southbridge Added support for Intel PM45/GM45/GM47 Mobile chipset Added support for Intel GL40/GS45 Mobile chipse t Corrected DDR2/DDR3 detection on Intel x35/x45 Corrected detection on some Core i7 CPU Fixed a bug with some AMI BIOS (freeze at startup) Various bug fixes Added support for Intel Core i7 (Nehalem) CU Added support for Intel Atom Processors Added support for Intel G41/G43/G45 Chipsets Added support for Intel P43/P45 Chipsets Added support for Intel US15W (Poulsbo) Chipset Added support for Intel EP80579 (Tolapai) SoC CPU Added support for ICH10 Southbridge (SPD/DMI) Added detection for Intel 5000X Now fully aware of CPU w/ L3 cache (Core i7 K10) Added workaround for DDR3 DMI detection Fixed Intel 5000Z chipset detection Fixed Memory Frequency on AMD K10 Fixed cache detection on C7/Isaiah CPU Fix Memtest86 not recognized as Linux Kernel Added support for i945GM/PM/GME amp i946PL/GZ Added support for iGM965/iGL960/iPM965/iGME965/iGLE960 Added detection for SiS 649/656/671/672 Added detection for i430MX/i430TX Added an optional beep mode (pass completed w/o error) Pass duration 20 reduced Removed the blinking cursor Reverted Test 0 to cached Solved a major bug in Memory Address Errors Reporting Patched for Intel-Powered Mac Corrected Intel 3-Series (P35/X38) chipset init Corrected a bug with SPD Display and ESB6300 Correct a detection bug on P965/G965 C-Stepping Solved a incoherency with pass progress indicator Patched Makefile to compile on x8664 Bootable Memtest86 ISO more compatible Major Architectures changes Modulo test now use random pattern for better accuracy Added Advanced DMI Errors Reporting Mode Added support for bus ratio changes on Intel Core CPU Added support for non-integer bus ratio on latest Intel CPU Added SPD Data Display for all Intel Chipsets (more to come) Added serial support as a linux boot parameter (Thanks to Michal S.) Added preliminary support for VIA CN Isaiah CPU Added preliminary support for Intel Nehalem Added support for VIA C7/C7-D/C7-M/Eden on Esther Core Added support for AMD K10 (Phenom) CPU w/ timings detection Added support for Intel Pentium E w/ 1 MB L2 Cache Added support for Intel Core 2 45nm (Penryn) Added support for FSB1333/FSB1600 Intel CPU Added support for Intel 5400A/5400B w/ timings detection Added support for Intel Q35/P35/G33/Q33 w/ timings detection Added support for Intel X38/X48 w/ timings detection Added preliminary support for Intel 5000P/V/Z Removed on-fly memory timings change (unstable) Numerous (really) bug fixes Some screenshots of memtest86 on third recent platforms (i865/i875 - nForce2 - AMD64). An official forum for all features Requests amp bugs fixes has been created on forum. canardpc. Even if the main forum is in french, the memtest86 forum is ONLY in english. No registration required to post but NO help will be given to hardware issues. This forum is only dedicated to features requests and bug fixes for memtest86. All other post will be erased. The Memtest86 Newsletter is only intended to provide an information about new Memtest86 updates. Nothing more will be sent. Of course, the emails addresses provided will NEVER be passed to others and will be kept STRICTLY confidential. Subscribers will received an email with the changelog when a new version of memtest will be released. - Author of Memtest86 - Memtest86 is written by Samuel DEMEULEMEESTER, chief editor of x86-secret (visit us). You can send an email to memtestnospammemtest. org (sorry for the syntax, remove nospam). But dont expect an answer. PS. Again, the original author of memtest86 is Chris Brady (memtest86) - Contributors of Memtest86/Memtest86 - The initial versions of the source files bootsect. S, setup. S, head. S and build. c are from the Linux 1.2.1 kernel and have been heavily modified. Doug Sisk provided code to support a console connected via a serial port. Code to create BadRAM patterns was provided by Rick van Rein. Screen buffer code was provided by Jani Averbach. On-fly timings change for A64/i865/915 was provided by Eric and Wee Eric Biederman reworked the build process making it far simpler and also to produce a network bootable ELF image. He produce a nice patch in mid-2003 which was included in memtest86 Memtest86 Loader (and lots of help) was provided by Eric Auer. Udo Rader create a piece of code for better badram support (remove duplicate) Thanks to Franck Delattre (cpuid. org) for his help. Thanks to Michal Schmidt, Yann D. and Warren Togami for unvaluable support Thanks to Remko van der Vossen (aka Wichetael) for the FAQ Thanks to CDH for his help. Thanks to lechenejb for memtest86 logo. Thanks to all 5.xx contributors, especially Passmark guys. Thanks to all Beta-testers. We occasionally receive email that ask for a doantion, so, here is the donation section. So, if youve found memtest86 useful - maybe it saved you some money or helped you to understand an issue thats been bothering you for ages - then please consider making a donation to support free software and help us face costs that occur (webhosting, buying of some hardware for debugging. etc). Dont forget donations are very welcome, but by no means required. However, they will directly increases the amount of time we can spend on developing mt86. Any amount is greatly appreciated. As an individual, your name will be asked in the Paypals form and it will be added to this page as a mt86 donator. Due to numerous abuses, we reserve the right to remove companies names, especially when they are not related to IT. We only accept true donations. We dont sell links on our website for SEO purposes Donators List (Thank you ) : 03/08/10 - Gregor Kronenberger 09/28/16 - Yashar Ghaffarloo 10/14/09 - Paul Jurczak 02/17/10 - Teknician Solutions 03/02/10 - William Tidwell 01/24/11 - Timothy Lester 05/06/10 - Audrius Markevicius 02/03/11 - Nadir Garouche 12/20/09 - David LeBlanc 12/22/09 - Hans Hermann Weber 01/06/10 - Joost van Pinxten 12/31/10 - Michael Bartlett 01/30/11 - Pierre Lacombe 02/28/11 - William Massano 04/15/16 - arena-studio. fr 02/24/11 - Liam Matthews 06/10/10 - Thyago Martins Correa 12/16/09 - Jonas Saeys 01/17/10 - Luke Enderby 02/11/10 - Soren Ragsdale 03/15/10 - Oleg Kazak
No comments:
Post a Comment