Memtest86+
About Memtest86+
Memtest86+ is the open-source memory testing tool that runs outside the operating system, booting directly from a USB stick or CD to test system RAM with the kind of thoroughness that’s impossible while Windows is running. The application loads on bare hardware before any OS has touched memory, then writes test patterns to every byte of installed RAM and reads them back to verify the contents match. Any mismatch means a memory error, which means the RAM module, motherboard memory controller, or memory timing configuration has a problem that will cause system instability under real use.
The tool fills a specific diagnostic role that operating system-based tests can’t replicate. Windows Memory Diagnostic exists and works, but it has to coexist with the running OS, which means it can only test memory that isn’t currently in use by Windows itself.
Memtest86+ runs in an environment with no operating system competing for memory, so it can test every single bit of installed RAM regardless of where Windows would normally have its own data. For diagnosing intermittent crashes, blue screens, application corruption that doesn’t match any obvious cause, or stability problems on a newly-built system, this is the test that produces the most reliable verdict.
Why off-OS testing matters
A bit of context for why this matters. Operating system memory tests have inherent limits because the OS itself occupies memory while the test runs. Windows kernel code, drivers, the test program itself, and the system services all need RAM to function, and that memory can’t be tested while it’s in use. Windows Memory Diagnostic addresses this partially by running tests during boot before most services start, but kernel code is still loaded and protected from testing.
Bad RAM in the wrong location (specifically in the memory that Windows is using for itself) causes the worst symptoms because it corrupts the OS as it runs. These are also exactly the cases where OS-based memory tests can’t reach the problem. Memtest86+ loads as a tiny standalone environment with no operating system, leaving essentially all installed RAM available for testing. If you have 64 GB of RAM, the tool tests all 64 GB rather than the 60 GB Windows wasn’t using.
The test patterns are also more thorough. Memtest86+ runs many different test algorithms (moving inversions, walking ones, address tests, modulo tests, and others) that each catch different kinds of memory errors.
Some memory faults only appear with specific bit patterns or access sequences, and the variety of tests is what catches the full range of failures. A single test pattern might pass perfectly while another pattern reveals the same module is broken.
How the test actually works
Boot the machine from a USB stick or CD containing Memtest86+ and the tool launches into a text-mode interface that immediately starts testing. The default test suite runs through multiple passes of the various algorithms, each pass taking anywhere from fifteen minutes to several hours depending on how much RAM is installed and the speed of the memory subsystem.
The screen shows current test progress, CPU and memory information detected at boot, the current test algorithm running, and the running count of errors found so far. The error count is the metric that matters. A clean memory system shows zero errors across many passes. Any error count above zero indicates a problem that needs investigation.
When errors do appear, the tool displays the failing memory address, the expected value, the actual value read, and the bit pattern that differed. This information is what diagnoses which specific memory module is failing. Different RAM modules occupy different address ranges, so the failing address tells you which slot or module has the problem. For users with multiple modules, this directly identifies the bad part rather than requiring you to swap modules one at a time.
How long should you actually test for
This is one of the practical questions every user has. The honest answer is “longer than feels reasonable.” Memory errors aren’t always immediate. Some failure modes only appear after thermal effects accumulate over time, or only with specific access patterns that take many passes to hit, or only when the memory controller has been running for hours. A test that passes for an hour can fail in the second hour.
The standard practice for serious testing is to run at least one full pass through all default tests, which typically takes one to two hours per pass on systems with moderate amounts of RAM. For thorough validation (newly-built systems, suspected stability issues, overclocked memory), multiple complete passes over six to twelve hours is appropriate. Some users leave the tool running overnight specifically to catch errors that only appear after extended runtime.
For verifying a newly-bought RAM module before relying on it, multiple complete passes are worth the time investment. A module that fails after ten hours of testing would have failed during real use eventually, and catching it during testing rather than after weeks of mysterious crashes is the entire point.
What the errors actually mean
When Memtest86+ reports errors, the underlying causes fall into a few categories. The most straightforward is a genuinely faulty memory module. RAM chips can have manufacturing defects that escape factory testing, can degrade over time due to component aging, or can suffer physical damage from heat or electrostatic discharge. A module with genuine hardware failure will produce consistent errors at the same addresses regardless of how many times you test, and the only fix is replacement.
The second category is memory module incompatibility with the motherboard or other modules. Memory modules have specific specifications (speed, timings, voltage, capacity per chip) that need to match what the motherboard supports. Mixing modules from different manufacturers, or modules with different specifications, can produce errors that disappear if you use the modules separately. This isn’t a defect in any single module, it’s a system-level incompatibility.
The third category is incorrect BIOS or UEFI memory configuration. Modern systems often have memory profiles (XMP for Intel, EXPO for AMD) that configure modules to their rated speed and timings. If these profiles are configured beyond what the modules can actually sustain (especially common with high-speed memory or overclocked configurations), errors appear under stress even though the modules themselves are fine at default speeds. Backing off the memory configuration to slower speeds or looser timings often resolves these errors without replacing any hardware.
The fourth category, which is concerning, is motherboard memory controller failure. The CPU and motherboard share responsibility for memory communication, and faults in either can cause memory errors that look like RAM problems but persist across module changes. If errors persist after trying different RAM modules in different slots, the controller side may be at fault.
Booting from USB and the practical workflow
The application is distributed as an ISO image and as USB-ready bootable files. For most users, writing the ISO to a USB stick with Rufus creates a bootable test environment in a few minutes. Boot the target machine from that USB, and the testing starts.
For users who maintain multi-tool boot environments, Ventoy lets you put Memtest86+ alongside other diagnostic tools on a single USB stick that boots whichever one you choose. This is a common setup for technicians and IT professionals who need multiple boot tools available on the same media.
Some BIOS and UEFI firmware include Memtest86+ as a built-in option accessible from the boot menu without needing external media. This is increasingly common on enthusiast motherboards and server hardware, where the manufacturer recognizes that memory testing is a basic diagnostic need. For these systems, you can launch the test without any external USB preparation.
The Secure Boot question is worth addressing. Some recent versions of Memtest86+ are signed for Secure Boot compatibility, meaning you don’t need to disable Secure Boot in UEFI firmware to run the test. Older versions or unsigned builds may require turning off Secure Boot temporarily, which you can do from your motherboard’s UEFI settings.
Where Memtest86+ fits versus other tools
The memory testing category specifically has limited competition. Windows Memory Diagnostic is the OS-integrated tool that ships with Windows, easier to launch but with the limitations described earlier. Various third-party in-Windows memory testers exist but have similar inherent limits.
MemTest is a different tool with a similar name that runs in Windows for real-time monitoring and lighter testing. It’s useful for ongoing memory health monitoring during normal use but doesn’t replace the off-OS thorough testing that the open-source bootable tool provides.
For broader stability testing that includes CPU and memory together, OCCT and Prime95 test the full system under load while in Windows. These tools catch some memory issues but also test CPU, memory controller, and power delivery together rather than isolating memory specifically. For users specifically wanting to know whether their RAM modules are good independent of other system factors, the bootable approach gives a cleaner answer.
For overclocking validation specifically, running the bootable memory test on the overclocked configuration produces meaningful pass/fail data about whether your memory overclock is genuinely stable. Errors at overclocked speeds usually mean the overclock is too aggressive even if Windows seems to run fine.
The Memtest86+ versus Memtest86 distinction
This causes regular confusion. The two tools have nearly identical names but are different projects with different licensing.
Memtest86+ is the original open-source project that has been actively developed by a community team. Free, GPL-licensed, runs the same tests across all builds, and is the version that ships with many Linux distributions and bootable diagnostic tool kits.
Memtest86 (without the plus) is a commercial fork by PassMark Software that has added features (UEFI support originally, ECC error reporting, automation interfaces) and a paid Pro version with additional capabilities. PassMark’s version was for a while more current than the open-source one, but the Memtest86+ project has caught up substantially with recent releases including modern UEFI support and updated testing algorithms.
For most users, the open-source Memtest86+ is the right choice. It’s free, actively maintained, and covers the standard memory testing needs without licensing complications. The PassMark version has some advanced features that matter for specific professional uses but isn’t necessary for typical diagnostic work.
Conclusion
Memtest86+ is the right tool for any user who suspects RAM problems, who has built a new system and wants to verify the memory works correctly, who has bought new memory modules and wants to test them before relying on them, or who is diagnosing intermittent crashes that don’t have obvious causes.
The off-OS testing approach catches problems that no in-Windows tool can reach, the test algorithms are thorough enough to find genuine faults, and the free open-source licensing means there’s no friction to using the tool when needed.
For users who don’t have specific reasons to suspect memory problems and just want general system health verification, OCCT and similar full-system stress tests cover broader stability validation. For ongoing monitoring of memory use during normal operation, in-Windows tools like MemTest provide different visibility. Memtest86+ specifically earns its place when you need the thorough off-OS memory test that the bootable approach uniquely provides.
Make a bootable USB, leave it running overnight when you need real validation, and trust the results because no other approach to memory testing produces equivalent confidence.
Pros & Cons
- Tests memory thoroughly outside the operating system for complete coverage
- Multiple test algorithms catch different types of memory errors
- Identifies which specific module is failing through reported error addresses
- Free and open-source with no licensing fees or feature limitations
- Active development with regular updates including modern UEFI support
- Distributable as ISO or USB-ready files for easy bootable media creation
- Catches errors that operating system-based tests fundamentally cannot reach
- Standard tool used by technicians, IT professionals, and serious system builders
- Requires booting from external media or built-in UEFI menu, which is more involved than running an OS-based tool
- Test runtime is hours, not minutes, for thorough validation
- Text-mode interface is functional but not visually polished
- Some older builds required disabling Secure Boot before running
- Doesn't help diagnose CPU, GPU, storage, or other non-memory issues
- Some advanced features (ECC reporting, automation) are only in the commercial Memtest86 fork
Frequently asked questions
The application is a memory testing tool that boots outside the operating system to test system RAM thoroughly. It writes test patterns to every byte of installed memory and verifies the values read back match what was written. Mismatches indicate memory errors that cause system instability, crashes, and data corruption during normal use.
The Windows tool runs partially within the operating system, which limits how much memory it can test (kernel code occupies memory that can't be tested while it's running). This tool runs in a standalone environment with no operating system, so essentially all installed RAM is available for testing. The off-OS approach also runs more thorough test algorithms.
For basic validation, one complete pass through all tests is the minimum, typically one to two hours per pass. For thorough testing of newly-built systems, suspected stability issues, or overclocked memory, multiple complete passes over six to twelve hours is appropriate. Some memory errors only appear after extended runtime, so longer tests catch problems shorter tests miss.
Memtest86+ is the original open-source project with GPL licensing. Memtest86 (without the plus) is a commercial fork by PassMark Software that has added some features in a paid Pro version. For most users, the open-source version covers standard memory testing needs without licensing complications.
The application displays the failing memory address, the expected value, and the actual value that was read. This information identifies which memory module is at fault based on which address range failed. Errors typically indicate either a faulty module, module incompatibility with the system, incorrect BIOS memory configuration, or motherboard memory controller failure.
Download the Memtest86+ USB or ISO image, then write it to a USB stick using a tool like Rufus. Alternatively, multi-tool boot environments created with Ventoy can include this alongside other diagnostic tools on the same USB.
Yes. Modern versions include full UEFI support and many builds are signed for Secure Boot compatibility, meaning you can run the test without disabling Secure Boot in your motherboard's firmware settings.
No. The test only reads and writes to RAM as part of its diagnostic process, which is exactly what normal computer use does. Running the test won't physically damage memory modules or any other component. The worst-case outcome is discovering that hardware was already damaged.
