RAM failures are sneaky. Unlike a dead hard drive that refuses to boot, a partially failing memory stick will let Windows load just fine — and then corrupt data silently, crash applications at random, or generate mysterious blue screens that point at drivers instead of the real culprit. MemTest86 is the gold-standard tool for catching these failures before they cause serious damage. This guide walks you through creating a bootable USB, running a proper test, and knowing what to do with the results.
What Is MemTest86?
MemTest86 is a standalone memory diagnostic that runs independently of your operating system. Because it loads before Windows, it has direct hardware access to every byte of RAM without the OS interfering. The free version from memtest86.com covers everything most users need, including support for DDR4 and DDR5. There is also a paid Pro edition that generates PDF reports — useful for professional environments but unnecessary for personal use.
Creating a Bootable USB Drive
- Download the free version from memtest86.com. The package comes as a zip file containing an ISO and a Windows USB creator utility.
- Extract the zip and run imageUSB.exe (included in the package).
- Select your USB drive from the list — use an 8 GB or larger drive. Everything on the drive will be erased.
- Click “Write” and wait for the process to finish.
- Reboot and enter your BIOS/UEFI (usually Del, F2, or F12 at POST). Set the USB drive as the first boot device.
Once booted, MemTest86 will detect your memory configuration automatically and launch its test suite. The interface is minimal by design — you do not need a keyboard or mouse for basic operation.
Understanding the Test Passes and Error Codes
MemTest86 runs 13 different test algorithms per pass, numbered Test 0 through Test 13. Each algorithm targets different failure modes:
| Test | Name | What It Catches |
|---|---|---|
| 0 | Address test | Addressing faults, row/column decoder issues |
| 1 | Moving inversions, 1s & 0s | Basic data path faults |
| 5 | Moving inversions, 32-bit pattern | Marginal cells and data coupling |
| 7 | Random number sequence | Noise-induced failures |
| 9 | Modulo 20 test | Address-sensitive failures |
| 13 | Hammer test | Row hammer vulnerability |
How many passes do you need? One full pass completes all 13 tests. For casual stability verification — for example after a new install or mild overclock — two full passes is a reasonable minimum. For systems that will be used for data-critical work, running overnight (typically four to eight passes depending on RAM capacity) is the professional standard. Testing 32 GB of DDR5 takes roughly 90 minutes per pass.
Any error at all is a failure. MemTest86 reports errors with the failing memory address, the expected value, and the received value. A single bit error on a single pass is not noise — it means that memory cell cannot reliably store data.
Error output looks like this:
FAILURE! Test 5 [Moving Inversions, 32 Bit Pat]
Lowest Error Address: 0x1A4B3C000 - 6.5 GB
Highest Error Address: 0x1A4B3C000 - 6.5 GB
Bits in Error Mask: 00000004
Bits in Error: 1
Max Contiguous Errors: 1
The “Bits in Error Mask” field shows which bit failed in hex. A mask of 00000004 means bit 2 is stuck or unreliable.
Isolating the Failing Stick
Modern motherboards with two, three, or four memory slots make isolation straightforward:
- Shut down, unplug the power cable, and press the power button once to discharge capacitors.
- Remove all sticks except one. Run MemTest86 for two passes.
- Swap to the next stick in the same slot. Test again.
- Repeat for all sticks.
If errors appear with one stick but not others, that stick is defective. If errors appear with all sticks, suspect the motherboard memory controller or a specific slot — try running the known-good stick in every slot individually.
Also test with XMP/EXPO profiles disabled first. Some “instability” is actually an overclock that the specific chips cannot handle, not a hardware defect.
OCCT Memory Test: A Useful Complement
OCCT (OverClock Checking Tool) from ocbase.com includes a memory test that runs inside Windows, making it faster to launch than rebooting into MemTest86. Its GPU memory test uses VRAM as a scratch space and stresses the CPU-to-RAM path differently.
Key differences:
| Feature | MemTest86 | OCCT Memory Test |
|---|---|---|
| OS required | No (bare metal) | Yes (Windows) |
| Test duration per cycle | 60–90 min per pass | Configurable (15 min typical) |
| Detects OS-masked errors | Yes | Partially |
| CPU stress combined | No | Optional |
| Best for | Definitive hardware fault | Quick pre-flight check |
Use OCCT for a 15-minute sanity check when testing minor setting changes. Use MemTest86 when you genuinely suspect a hardware fault or after any RAM-related crash. They complement each other — OCCT catches many software-visible issues faster, while MemTest86 catches hardware faults the OS would never see.
Common Failure Scenarios
Random BSODs with codes like MEMORY_MANAGEMENT or PAGE_FAULT_IN_NONPAGED_AREA — run MemTest86 immediately. These codes are almost always RAM-related.
Errors only appear at high XMP speeds — lower the frequency by one step (e.g., from 6000 MHz to 5600 MHz) and re-test. If errors disappear, your XMP profile is too aggressive for your sticks.
Errors in slots 1 and 2 but not 3 and 4 — the problem may be a damaged slot rather than the sticks themselves. Test the sticks individually in the working slots to confirm.
Errors only at the highest addresses — this pattern sometimes indicates a chip on the stick itself (the last physical chip in the address range) is failing.
A clean MemTest86 run does not guarantee RAM is perfect forever, but it confirms the sticks are within spec at the time of testing. Run it whenever you add new RAM, after a system crash, or before returning hardware under warranty — documentation of a clean or failing run is valuable either way.