Memtest86

Memtest86 11.7 Build 1000

MemTest86 is PassMark's bootable memory diagnostic for x86 and ARM UEFI systems. It runs its own test algorithms outside the operating system to find faulty RAM modules, and is available in Free, Pro and Site editions.

Updated May 3, 2026
12.13 MB
4.0

Use the arrow keys to choose a rating, then press Enter or Space to submit it.

Very good 1 user ratings

App Specs

DeveloperPassmark Software
LicenseFreeware
CategoryUtilities
Available platformsWindows
Downloads84

Overview

MemTest86 is a stand-alone RAM diagnostic from PassMark Software for x86 and ARM64 computers with UEFI firmware. It boots from a USB flash drive or CD instead of running inside Windows, Linux or macOS. This lets it check memory without an operating system occupying part of it. People use it to find a failing module or to rule out RAM as the cause of crashes, data corruption and instability. MemTest86 comes in a Free edition and two paid editions, Pro and Site.

Why it runs outside the operating system

Starting directly from the firmware lets MemTest86 reach nearly all installed RAM. Its UEFI binaries are Microsoft-signed, so they work with Secure Boot left on. The program runs as native 64-bit code, uses multiple CPU cores, and offers a graphical interface with mouse and USB keyboard support. The current editions support neither older machines that only have a legacy BIOS nor Apple Silicon Macs.

The fourteen memory tests

Many intermittent RAM faults come from neighbouring cells affecting one another, and cell layouts differ between chips. MemTest86 therefore uses a set of algorithms, each aimed at a different kind of fault:

  • Address tests write walking-ones patterns or each location’s own address, catching wiring and addressing faults.
  • Moving inversions fill memory with ones and zeros, 8-bit, 32-bit or random patterns and their complements, which exposes data-sensitive errors.
  • Block move stresses memory with block-move instructions. It finds errors but cannot pin down their exact address.
  • Random number sequences write a seeded sequence, verify it, then verify its complement. Pro and Site add 64-bit and 128-bit SIMD versions.
  • Modulo 20 catches faults that moving inversions can miss because of caching and buffering.
  • Bit fade fills memory, waits several minutes, then looks for bits that have lost their charge.

The hammer test looks for disturbance errors, which mostly affect newer RAM. Repeatedly reading two rows in the same bank can cause charge to leak into adjacent rows and flip bits. MemTest86 first hammers at the highest rate it can reach. If that turns up errors, it runs again at the slower rate that memory vendors treat as worst case. Only errors repeated at that slower rate count as failures. Errors seen in the fast pass alone appear as a warning.

Passes, run time and test settings

MemTest86 runs four passes by default. The first is a shortened pass meant to surface serious faults quickly, and later passes are longer and more thorough. Run time depends on CPU speed, memory speed and RAM size, and can stretch overnight. One pass usually catches consistent faults. Intermittent ones, which can depend on temperature or on timing and voltage settings, need longer runs.

From the main menu you can choose which tests to run, set the number of passes, and limit the memory address range. You can also choose how the CPU cores share the work: one core, all in parallel, round robin, or one after another. MemTest86 Pro can also turn off CPU caching for all tests or for single tests.

Errors, modules and ECC

While testing, the screen shows the current test, address, pattern, the cores in use and running error counts, along with RAM speed, timings and temperatures. At the end, MemTest86 gives an overall result of PASS, FAIL, or an incomplete pass or fail when not every test finished. The error summary lists the failing address range, the bits in error and the cores that found them.

Every edition can read the memory configuration and the modules’ standard SPD data. Pro adds module-specific SPD details, including XMP and EXPO profiles. It also checks the modules’ SPD data and configured speed and timings against expected values. It can also link errors to individual DIMMs on supported chipsets. The Site edition goes further and traces errors to individual chips.

On systems with ECC memory, MemTest86 reads corrected and uncorrected error records straight from the memory controller. Without this, single-bit faults could stay hidden because the hardware fixes them. On chipsets where the BIOS allows it, Pro can deliberately inject ECC errors to check how the system responds.

Reports and bad memory lists

The free edition saves debug logs and an HTML report to the boot drive. Pro adds report customisation and a binary results file. Pro can also convert reported errors into BADRAM patterns for Linux and badmemorylist entries for Windows. Those lists tell the operating system to avoid the faulty addresses. This lets a damaged machine boot long enough to back up data until the module is replaced.

Automation and the Site edition

In Pro and Site, a configuration file can fix the test list, address range, CPU mode, pass count and report format in advance. It can also set custom tests and run the whole sequence automatically, rebooting and saving results without anyone at the machine. The Site edition adds network booting over PXE, so machines without local drives can run tests. Results go back to the server, and users can manage runs centrally through PassMark’s Management Console.

Similar Apps