# Memtest86

Memtest86 ist eine Software, mit der man den Arbeitsspeicher eines Computers auf Fehler überprüfen kann. Es wurde von Chris Brady ursprünglich als freie Software geschrieben und stand bis Version 4 unter der GNU General Public License.
Das Programm überprüft Arbeitsspeicher mittels eines Stresstests auf Fehler und zeigt gegebenenfalls die Speicheradresse von fehlerhaften Speicherzellen in einer Liste an. Die Software wird gleich nach dem Systemstart geladen und ausgeführt; ein Betriebssystem ist nicht erforderlich.
Die freien älteren Versionen von Memtest86 oder die freie Abspaltung Memtest86+ sind im Bootmenü vieler Linux-Distributionen enthalten bzw. können einfach nachinstalliert werden.

## Arbeitsweise

Insgesamt führt Memtest86 neun unterschiedliche Testläufe durch. In jedem davon wird der komplette Speicher abschnittsweise mit bestimmten Testmustern beschrieben, die anschließend wieder ausgelesen und auf Korrektheit überprüft werden. Abweichungen zwischen den ausgelesenen und den ursprünglich geschriebenen Mustern werden als Fehler gemeldet und aufgelistet. Neben reinen Zufallswerten sind einige der Testmuster so gestaltet, dass darin einzelne oder abwechselnde Bits wiederholt verschoben oder invertiert werden, um bewusst sämtliche Speicherzellen technisch auszulasten.
Ein vollständiger Durchlauf aller neun Tests wird Pass genannt und benötigt auf aktuellen Systemen rund 15 bis 30 Minuten, kann aber je nach CPU-Geschwindigkeit und Speichervolumen auch eine Stunde oder länger dauern. Wird das Programm dann nicht gestoppt, beginnt es mit dem nächsten Pass. Mindestens ein vollständiger Pass ohne Fehler wird als Nachweis eines fehlerfrei arbeitenden Speichers betrachtet. Andererseits bedeuten aufgetretene Fehler nicht zwingend einen defekten Arbeitsspeicher; die Ursache kann auch in der CPU oder im Mainboard liegen.
Memtest86 arbeitet unabhängig von einem installierten Betriebssystem direkt auf der Hardware als so genanntes englisch Bare metal program und kann von USB-Stick, über das Netzwerk mittels Preboot Execution Environment (PXE) oder, so die Laufwerke dafür vorhanden sind, bis zu Version 7 auch von einer CD-ROM gestartet werden. Ältere Versionen bis 4.x konnten auch von einer bootfähigen Diskette gestartet werden. Bis zur Version 4 erfolgte das Booten im Modus legacy-BIOS, spätere Versionen setzen zum Booten das Unified Extensible Firmware Interface (UEFI) voraus.

## Weiterentwicklung

Zusätzlich zu der kostenlosen Free-Version von Memtest86 gibt es noch eine kostenpflichtige Pro-Version. Diese enthält neben den Funktionen der kostenlosen Version noch speziellere Funktionen, wie ECC-Fehler-Injection, also die Möglichkeit, bei ECC-Speicher absichtliche Fehler einzubringen, um die Fehlerkorrektur und die Loggingfunktion hierfür zu prüfen, außerdem gibt es hier noch zusätzliche 64-Bit-SIM-Tests, und die Reports sind speicherbar. Die Pro-Version erlaubt weiters mittels UEFI-PXE über das Netzwerk zu booten.
Memtest86 in der Version 8.x (Free- und Pro-Version) wird von der australischen Firma PassMark weiterentwickelt. Mit Erscheinen der Version 5 wurde die GPL zugunsten einer proprietären Lizenz aufgegeben. Memtest86 ist kompatibel mit allen aktuellen Chipsätzen für sämtliche Intel- und AMD-Mehrkernprozessoren. Ab Version 9.0, veröffentlicht am 10. Februar 2021, werden zudem UEFI-basierte ARM64-Systeme unterstützt.

## Memtest für Grafikkarten/GPUs

Mit „CUDA GPU memtest“ gibt es ein Speichertestprogramm für den Speicher auf Nvidia-Grafikkarten.