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

RAM
(Image credit: Tom's Hardware)

RAM is a vital component that ensures a system's proper operation. In simple terms, RAM functions as short-term memory, where your system temporarily stores information while working on a task. Therefore, faulty memory can severely impact your work. Usually, RAM lasts longer than most other internal components, unless you're upgrading from an older standard to a newer one, like DDR4 to DDR5. While RAM failure is rare, it can happen. Like any computer part, even the best RAM will eventually fail, so it's important to know what to do when that time comes.

RAM typically doesn't stop working suddenly without warning. Usually, there are early indicators of a failing or faulty DIMM. However, receiving DOA (dead on arrival) RAM isn't unusual, just like any other PC component. Common signs of bad RAM include random blue screens of death (BSOD), system crashes or restarts, operating system freezes, and missing memory. In severe cases, your system might not even post and could produce multiple beeps.

How To Test RAM With HCI Memtest

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

For optimal testing, it's best to measure the total amount of RAM distributed across all processor threads. This involves opening one Memtest instance per thread. Admittedly, testing RAM with processors that have many threads can become a hassle. However, the Pro version of HCI Memtest costs just $5 and automates the entire process. Additionally, some wrapper tools can perform a similar job with the free version if you search for them online.

(Image credit: Tom's Hardware)

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

2. Run memtest.exe. It's the only executable in the folder, so you're unlikely to make a mistake.

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

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

5. Launch the same number of Memtest instances as your processor's threads and enter the result from the previous step into each one.

(Image credit: Tom's Hardware)

For example, we're testing 16GB of memory on our Core i9-13900K system. The processor has 32 threads, so we ran 32 instances of Memtest. We had approximately 13.79GB free, which translates to 431 MB per instance. Depending on your processor and memory amount, a complete pass takes roughly an hour. However, one or two passes should be enough to identify faulty RAM.

How To Test RAM With TestMem 5

TestMem has been around since the DOS era. Launched in 1998, it has undergone significant evolution over the years and is now in its fifth version. TestMem 5 offers 16 tests, which users can customize extensively. The software is lightweight and features a simple, beginner-friendly interface.

Unlike HCI Memtest, TestMem 5 is entirely free of charge. It supports custom user configurations, providing endless testing options. Among enthusiasts and overclockers, the Extreme and Absolut presets from user Anta777 are particularly popular.

(Image credit: Tom's Hardware)

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

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

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

4. After the preset loads, TestMem 5 will close. Rerun it with administrator privileges, and the new preset will take effect.

(Image credit: Tom's Hardware)

TestMem 5 takes about 25 to 30 minutes to complete one cycle on 16GB of RAM. The widely accepted standard is three cycles, which totals about an hour and a half to two hours of operation.

How to Test RAM With Passmark MemTest86

PassMark's MemTest86 is a dependable tool for testing memory, requiring no operating system, making it compatible with both Windows and Linux computers. It runs from a bootable USB drive, and although it might seem complex, it is very easy to use.

MemTest86 is currently the only software capable of identifying the faulty DIMM or DIMMs, even when all memory slots are filled. However, this feature requires payment. Currently, it only supports select platforms with DDR5 memory.

(Image credit: Tom's Hardware)

1. Download PassMark MemTest86.

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

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

4. Run the "imageUSB" executable.

5. Choose the correct USB drive at the top, then click 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 be displayed on your POST screen.

7. Boot from the USB stick.

8. Use your keyboard or mouse to select the "Config" button on the right side.

9. Choose the "(S)tart Test" option on the Memtest86 home screen to begin testing.

(Image credit: Tom's Hardware)

Let the application run the test until it finishes or until errors occur. You can watch the progress at the top of the screen. Testing can take from 20 minutes to several hours, depending on your DIMM's capacity. If errors appear, there is no point in continuing the test.

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 the Windows Subsystem for Linux (WSL). However, it doesn't have the same effect, which is why we recommend using GSAT in its native environment.

(Image credit: Tom's Hardware)

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

2. After installation, start GSAT with this command: stressapptest -W -s 3600.

The -W argument instructs GSAT to perform a more stressful memory copy for the processor. Meanwhile, the -s argument specifies the number of seconds to run the tool. Unlike other software that depends on passes or cycles, GSAT runs based on the time you set. Typically, one to two hours is sufficient to determine if you have a bad DIMM.

What If My RAM Is Bad? 

If you didn't encounter any errors: congratulations. Your memory is functioning correctly. However, if BSODs and other issues persist, the problem lies elsewhere. The only solution for a faulty DIMM is to replace it with a working one. Technically, you could repair DIMMs by swapping out the defective ICs for new ones, but this isn't a task for the average consumer. Fortunately, most, if not all, RAM comes with a limited lifetime warranty. Therefore, your first step should be to contact the manufacturer and request an RMA.

The RMA should process smoothly if you've been using your RAM within the vendor's specifications. If, for any reason, your RMA is denied and you need to buy a replacement out of pocket, we maintain an updated RAM benchmark hierarchy of the fastest DDR4 and DDR5 memory kits compatible with the latest Intel and AMD processors.

TOPICS
Zhiye Liu
News Editor, RAM Reviewer & SSD Technician

Zhiye Liu is a news editor, memory reviewer, and SSD tester at Tom’s Hardware. 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