How to check if system RAM is faulty in Red Hat Enterprise Linux?

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux (RHEL)
  • x86 (32 or 64 bit)

Issue

  • How to check if system memory (RAM) is faulty in Red Hat Enterprise Linux?

Resolution

  • Red Hat Enterprise Linux ships a memory test tool called memtest86+. It is a bootable utility that tests physical memory by writing various patterns to it and reading them back. Since memtest86+ runs directly off the hardware it does not require any operating system support for execution.

  • This tool is available as an RPM package from Red Hat repositories as well as a boot option from the Red Hat Enterprise Linux rescue disk.

  • To boot memtest86+ from the rescue disk, you will need to boot your system from CD 1 of the Red Hat Enterprise Linux installation media, and type the following at the boot prompt (before the Linux kernel is started):

    boot: memtest86   
    
  • If you would rather install memtest86+ on the system, here is an example of how to do it on a Red Hat Enterprise Linux 5 and above versions:

    # yum install memtest86+
    
  • Then you will have to configure it to run on next reboot:

    # memtest-setup 
    
  • After reboot, the GRUB menu will list memtest. Select this item and it will start testing the memory.

    • Please note that once memtest86+ is running it will never stop unless you interrupt it by pressing the Esc key. It is usually a good idea to let it run for a few passes so it has time to test each block of memory several times. With large memory situations it may take more than 10hours just to reach one pass.
  • If your system is UEFI only, you may evaluate the upstream release of memtest86+ v.6: memtest86+ v.5 shipped by Red Hat works only with systems booting in BIOS mode.

    • NOTE: Not being delivered by Red Hat, no support, implicit or explicit can be expected by using memtest86+ v.6.
  • memtest86+ may not always find all memory problems. It is possible that the system memory can have a fault that memtest86+ does not detect.

Root Cause

  • A common cause for needing to run memtest86+ is when the system suffer from degraded performances, unresponsive or panics repeatedly, and the logs show "Machine Check Exception".

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

7 Comments

Is there a any other way to test the faultiness of system memory(RAM), where we can really be specific to an error?

Nice article!

Note this will not work on UEFI systems.

Will an updated memory testing tool be released for EFI systems?

I hope the below helps. From https://www.memtest86.com/download.htm

"IMPORTANT: MemTest86 V9 images support only UEFI boot. On machines that don't support UEFI, MemTest86 will not boot. Please download the older V4 BIOS release of MemTest86 instead.

Installation and usage instructions are available on the Technical Information page

MemTest86 is a stand-alone program that does not require or use any operating system for execution. The version of Windows, Linux, or Mac being used is irrelevant for execution. However, you must use either Windows, Linux or Mac to create a bootable USB drive."

FYI It ships with RHEL.

Thanks Mark! It seems like memtest86 v9 is strictly better than memtest86+, is there any reason why this article mentions the ‘+’ version only? Or is it just outdated?

If so, since I am new here, how does the process of updating knowledgeable articles work? Do I submit a request, or will that be taken care of by someone from the RHEL team?

It depends from the upstream. Recently memtest86+ release v. 6 of their tool, that support UEFI.

RHEL don't ship it atm, but you may get it from upstream.

If interested in having it in RHEL, please open a support case asking to have v.6 of memtest86+ included in the distro: it may be included in RHEL9, since is still in the Full Support phase of its lifecycle.

I've updated the case to include those informations.