How to Test RAM: Making Sure Bad Memory Isn't Crashing Your PC

RAM
(Image credit: Tom's Hardware)

RAM is a crucial component that ensures a system's correct operation. Simply put, RAM is equivalent to short-term memory, where your system stores information while working on a current task. Therefore, defective memory can have a catastrophic impact on your work. In most cases, RAM typically outlasts the rest of the components inside your system, unless you're transitioning from an old standard to a new one, like DDR4 to DDR5. It's rare for RAM to fail, but it does happen. Like any computer part, even the best RAM will eventually fail, so you'll want to know what to do when it happens to you.

RAM doesn't usually stop working out of the blue. Often, there are early signs of a failing or faulty DIMM. But yes, receiving DOA (dead on arrival) RAM isn't uncommon, like any other PC component. General symptoms of bad RAM include random blue screens of death (BSOD), system crashes or restarts, operating system freezes, and missing memory. In a worst-case scenario, your system might not even post and welcome you with multiple beeps.

Before running any diagnostics on your RAM, you should ensure it's running at the stock default frequency. Many of you are running Intel XMP 3.0 or AMD EXPO memory kits, so it's best to differentiate between an unstable memory overclock from a defective DIMM or DIMMs. A shaky overclock causes similar symptoms as faulty RAM. Therefore, the first step to detecting faulty memory is to return your system to the factory default. You can do so by resetting the firmware to default inside your motherboard's BIOS or pressing some motherboards' dedicated "Clear CMOS" button from the rear panel.

In contemporary times, we don't expect anyone to have a single DIMM in their system. Most probably use at least a dual-channel configuration. In a scenario with multiple DIMMs, it's easier to diagnose each DIMM individually. Otherwise, you won't know which DIMM is the culprit, even if the software returns with an error — it comes down to a process of elimination. To our knowledge, only one software on the market can correctly pinpoint which specific DIMM has faulty integrated circuits (ICs), which we'll get into later.

The best software for weeding out defective RAM depends on who you ask. From our experience, testing your RAM with at least two different programs should be sufficient. The odds of one software not detecting the faulty DIMM are present, but it's unlikely to fool two testers. Of course, if your results come back negative, but you still have heavy suspicions that you have a bad DIMM, it wouldn't hurt to as for a third opinion. All the software that we're rounded up is free. Payment unlocks additional options, but the basic version is more than enough for diagnosing bad DIMMs. There are other options out there too. Coincidentally, the software for detecting faulty DIMMs is also popular for overclockers evaluating the stability of memory overclocks. Although we're using DDR5 for the article, the guide is still valid on older formats, such as DDR4 and prior.

How To Test RAM With HCI Memtest

HCI Memtest is one of the simplest and easiest software for detecting errors with RAM. Unfortunately, the basic version only has one user-modifiable section where you input the amount of RAM to test, and the software does the rest. One of its limitations is that it can only test 2GB to 3.5GB of RAM per instance, which can be a nuisance when testing considerable amounts of RAM or a processor with lots of threads.

For optimal testing, it's best to test the total amount of RAM split across all the threads from a processor. This means opening on Memtest instance per thread. Admittedly, testing RAM with processors with many threads becomes a nuisance. However, the Pro version of HCI Memtest costs a mere $5 and automates the whole process. Furthermore, some wrappers can do a similar job with the free version if you Google them.

(Image credit: Tom's Hardware)

1. Download HCI Memtest and extract the contents from the ZIP file.

2. Run memtest.exe. It's the only executable file in the folder, so you can't go wrong.

3. Open Windows Task Manager and take note of the free RAM available.

4. Divide the amount of free RAM by the total number of threads from your processor.

5. Open the number of Memtest instances equal to your processor's threads and input the result from the last step into each instance.

(Image credit: Tom's Hardware)

For example, we're testing a 16GB DDR5 DIMM on our Core i9-13900K system. The processor has 32 threads, so we ran 32 instances of Memtest. We had around 13.79GB free, which amounts to 431MB per instance.

Depending on your processor and the amount of memory, a complete pass takes around an hour or so. However, one to two passes should suffice for picking out faulty RAM.

How To Test RAM With TestMem 5

TestMem dates back to the DOS days. The program debuted in 1998 and has evolved quite a bit over the years. The program is currently on its fifth version. TestMem 5 comes with 16 tests, which users can modify to their heart's content. The software is very lightweight and has a minimalistic interface that's very friendly to beginners. Unlike HCI Memtest, TestMem 5 is entirely free.

TestMem 5 supports custom user configurations, opening the doors to infinite testing options. In the meantime, the Extreme and Absolut presets from user Anta777 are the favorite among enthusiasts and overclockers.

(Image credit: Tom's Hardware)

1. Download TestMem 5 and extract the ZIP file to your desktop.

2. Right-click and run the "TM5" executable file with administrator privileges.

3. Hit the "Load config & exit" button to load your preset. You can download different user presets from the MemTestHelper GitHub page.

4. Once the preset is loaded, TestMem 5 will close. Rerun it with administrator privileges, and the new preset will take effect.

(Image credit: Tom's Hardware)

TestMem 5 takes around 25 to 30 minutes to complete a cycle on 16GB of RAM. The commonly accepted standard is three cycles, amounting to an hour and a half to two hours of operation.

How to Test RAM With Passmark MemTest86

PassMark's MemTest86 is a reliable tool for testing memory without the need for an operating system, meaning it will work on Windows machines as well as Linux computers. It runs off a bootable USB stick, and although it looks complicated, it is very straightforward to use.

MemTest86 is presently the only software that can indicate the faulty DIMM or DIMMs, even if all your memory slots are populated. It's a paid feature, though. In its current state, it's only supported on select platforms leveraging DDR5 memory.

(Image credit: Tom's Hardware)

1. Download PassMark MemTest86.

2. Extract the contents into a folder on your desktop.

3. Insert a USB stick into your PC. Back up any data on it, as PassMark's tool will format the USB stick.

4. Run the "imageUSB" executable.

5. Select the correct USB drive at the top, and press the "Write" button.

(Image credit: Tom's Hardware)

6. Restart your computer, and enter the boot menu by pressing F2, Del, F8, F10, or whichever key your system uses. It will say on your post screen.

7. Boot off the USB stick.

8. Select the "Config" button on the right side using your keyboard or mouse.

9. Select the "(S)tart Test" option in the Memtest86 home screen to let testing commence.

(Image credit: Tom's Hardware)

Now let the application run the test until completion or until errors appear. You can monitor the progress of the test at the top of the screen. Testing can take 20 minutes to a few hours, depending on the capacity of your DIMM. If errors appear, there is no point in continuing testing.

How To Test RAM With Google Stressful Application Test (GSAT)

For Linux users, the Google Stressful Application Test (GSAT) is an excellent tool for diagnosing memory errors. Alternatively, you can run GSAT in Windows using Windows Subsystem for Linux (WSL). However, it doesn't have the same effect, which is why we so we recommend using GSAT in its native environment.

(Image credit: Tom's Hardware)

1. Open a terminal and use the following command to download and install GSAT: sudo apt-get install stressapptest

2. Once installed, put GSAT into motion with this command: stressapptest -W -s 3600.

The -W argument asks GSAT to utilize a more stressful memory copy for the processor. Meanwhile, the -s argument refers to the number of seconds to run the tool. Unlike other software based on passes or cycles, GSAT runs according to your specified time. On the norm, one to two hours are more than adequate to assess whether you have a bad DIMM.

What If My RAM Is Bad? 

If you didn't get any errors: congratulations. Your memory is in working order. However, if BSODs and other problems continue to plague your system, the problem lies elsewhere. The only way to solve a faulty DIMM issue is to replace it with a working one. Technically, you can repair DIMMs by swapping the defective ICs for fresh ones. However, it's not a procedure for the average consumer. Luckily, the majority, if not all, RAM comes with a limited lifetime warranty. Therefore, the first thing you should do is contact the manufacturer and request an RMA.

The RMA should go through without hiccups if you've been using your RAM within the vendor's specifications. If, for some reason, your RMA is denied and you need to buy a replacement with your own money, we keep an updated hierarchy of the fastest DDR4 and DDR5 memory kits for the latest Intel and AMD processors.

Zhiye Liu
RAM Reviewer and News Editor

Zhiye Liu is a Freelance News Writer at Tom’s Hardware US. Although he loves everything that’s hardware, he has a soft spot for CPUs, GPUs, and RAM.

  • mitch074
    I recently had problems with brand new DDR4-3200 ram that caused BSOD. I overvolted it by 0.01 V and then everything was right.
    The problem can also be improper voltage delivered by the motherboard. Such an overvolt is well within tolerance margins and can save you quite some headache.
    Reply
  • R_1
    mitch074 said:
    I recently had problems with brand new DDR4-3200 ram that caused BSOD. I overvolted it by 0.01 V and then everything was right.
    The problem can also be improper voltage delivered by the motherboard. Such an overvolt is well within tolerance margins and can save you quite some headache.

    yes. I had an ASUS board with MEMok and it set the RAM voltage too high, but it worked, when I finally found out a year later or so and set the RAM to stock, bluescreen city.
    double check the voltages of your RAM.
    Reply
  • bit_user
    I've long been a fan of Memtest86, now owned by PassMark. I recommend running at least two full passes. Ideally, after installing or changing your memory configuration, just let it run overnight.

    The reason is that I've seen memory test fine, in the first pass, but encounter errors in subsequent passes.
    Reply
  • MaCk0y
    TestMem5
    Reply
  • PMKing
    Hi.
    I have a rebuilt desktop but Windows 10 won't install on a clean hard drive it stops at 5% when getting things ready.
    I found a few workarounds online none of which work and have since found a how to test RAM from command prompt.
    I have 2 4gb RAM modules and obtained the following information. It's the same on both banks.

    BankLabel=BANK 0
    Capacity=4294967296
    DataWidth=64
    Description=Physical Memory
    Device Locator=Channel 1B-DIMM0. (BANK 2 has Channel 1B)
    FormFactor=8
    HotSwappable=
    InstallDate=
    InterleaveDataDepth=
    InterleavePosition=
    Manufacturer= Micron. (BANK 2 has Samsung)
    MemoryType=24
    Model=
    Name = Physical Memory
    OtheridentifyingInfo=
    PartNumber=16JTF51264AZ-1G4M1. (BANK 2 has M378B5273DH0-CH9)
    PositionInG=
    Powered On=
    Removable=
    Replaceable=
    SerialNumber=31877266. (BANK 2 has 647E6513)
    SKU=
    Speed=
    Status=
    Tag= Physical Memory 0. (BANK 2 has 2)
    Total Width=64
    TypeDetail=128
    Version=

    Can anyone tell me what I've missed here. As far as I can tell everything else is fine.
    The machine has a new motherboard, PSU, Hard drive. Beforehand the memory was working, the machine had a motherboard failure caused by faulty PSU.

    Many thanks.
    Pete.
    Reply
  • rluker5
    I like OCCT for testing stability. When my ddr5 gets hot it will show instability quickly. Hot and stable is good enough for regular use. Even 20-30 min
    Reply
  • bit_user
    In the distant past, I've seen an article which showed that power supply quality can impact memory error rate. For the test, they modified memtest86 (or one of its open source ancestors) to extend the bit-fade test period to 8 hours. They found one PSU had twice the rate of flipped bits as most of the others.

    This was like 20 years ago, but it'd be great to see if that still holds, @zhiyeliu . Maybe try it with DDR4, since DDR5 has built-in ECC that could mask such issues, if they're occurring only to a minor degree.
    Reply
  • htelectrical
    TestMem 5:

    Secure Connection Failed

    An error occurred during a connection to testmem.tz.ru. SSL received a record that exceeded the maximum permissible length.

    Error code: SSL_ERROR_RX_RECORD_TOO_LONG

    The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
    Please contact the website owners to inform them of this problem.
    Reply
  • Nikolay Mihaylov
    I recently ran MemTest86 8.2 on a new build. The only test that was failing was the last one - №13 - for RowHammer and it took quite a while for a single bit flip to occur. I ran several passes and it's only that one that fails. I wonder if that means memory is ok for general use.
    Reply
  • bit_user
    Nikolay Mihaylov said:
    I recently ran MemTest86 8.2 on a new build. The only test that was failing was the last one - №13 - for RowHammer and it took quite a while for a single bit flip to occur. I ran several passes and it's only that one that fails. I wonder if that means memory is ok for general use.
    According to the docs, they do 2 types of RowHammer attacks. The first is as aggressive as possible, while the second stays within JEDEC-specified limits. If it fails the first phase, but not the second, it's considered within-spec and you only get a warning message. If it fails the second phase, then you can consider the RAM defective (though it's still a fair bet you can safely use it):
    https://www.memtest86.com/tech_individual-test-descr.html
    ECC memory is pretty good at withstanding RowHammer attacks, but I've heard even it can be vulnerable to a carefully-designed RowHammer. That was something I read pre-DDR5, so I wonder if that's still true of even ECC DDR5 DIMMs, because they have 2 levels of ECC.
    Reply