Locate and fix hardware faults


If you suspect that a computer system's memory is defective, the MemTest86 tool [11] can provide valuable assistance to help locate the damage. MemTest86 is included in the standard scope of all major Linux distributions and is available as a dedicated Live distribution. Depending on the image, you can either burn it on an optical disc, or use a USB memory stick.

Keep in mind that the images provide two versions of MemTest86: New systems with UEFI BIOS need to launch version 7, whereas version 4 helps manage older computers with a conventional BIOS. Both will perform repair actions automatically, if so desired.

The current version 7 is available in a Pro version for $39 including support options and updates for six months. This version also includes a memory benchmark, as well as a reporting function and several improvements for automated memory testing.

For very old computer systems, such as industrial computers with long operating periods, the tool is also available on a floppy disk [12]. Additionally, many distributions offer to run MemTest86 as a boot entry in the GRUB 2 bootloader. If the computer system is causing trouble, you can perform a memory test by rebooting and selecting the MemTest routine.

I recommend that you always use the latest version, because the developers of current, specific CPU families regularly integrate advanced functions into the software. MemTest not only detects memory errors, but also identifies most memory controllers and reads the memory chip vendor information.


While the older versions 4 and 5 still rely on an ncurses interface, which every computer system can display, the developers have upgraded and functionally changed the visual appearance of version 7. The new version no longer runs on computers with a conventional BIOS. If you want to use it, you need to change the boot process to a UEFI-only boot in the BIOS settings. The software does not accept combined BIOS settings that also use a legacy BIOS. In such cases, it launches the old MemTest version.

In the old versions, MemTest86 provides different boot options in the boot manager; the software also supports automated multiple runs. At top left on the screen, the tool displays CPU and memory data, including the data throughput for different cache storage levels. The individual test routines and their progress indicators appear at top right in the form of a buttonbar. The lower area of the screen displays memory errors. When a test run ends, the software displays a message at bottom center and indicates the number of memory errors detected (Figure 6).

Figure 6: MemTest86 is visually very simple but has in-depth storage tests.

Because MemTest86 restarts the tests after a successful run, you can see how many iterations the software has already carried out in the Pass section in the list at the bottom of the screen. As a rule of thumb, the more test runs MemTest86 completes without error, the more certain you can be that the memory is not faulty.

Using UEFI

The UEFI version of MemTest86 provides a visually enhanced interface. After launching the program, click on the Config button on the right of the screen to open a two-pane display: On the left, you will see a list of program options, and on the right, the much larger screen segment visualizes the software's activities and the results of the memory test.

After enabling the segmented display, various information about the processor, memory, and cache memory appears in the System Info tab on the left. You will also see the Test Selection tab, where you can choose from 14 different test routines and define the number of test passes. In the Address Range tab, you can define optional address ranges if you don't want to test the entire memory.

Then determine the number of CPUs that the test has to include in the CPU Selection tab, which does not refer to physically existing processors but refers instead to cores. The selection lets you use either one or all CPU cores and define which algorithm to use when testing all CPUs.

Initiate the test run by pressing the Start Test button. MemTest86 then shows an ncurses screen, like the old interfaces, that tracks the progress of the tests. After a successful run of routines, pressing any button generates a report and displays it on the screen, revealing any memory errors found so that you can replace defective components. The report can also be saved in the form of a specially generated file for documentation purposes.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Charly's Column – inxi

    The name of the tool that columnist Charly Kühnast recommends this month may sound like the Teletubbies, but it is but far from infantile when it comes to functionality. In fact, inxi provides detailed and precisely controllable hardware and system usage information for the host computer.

  • inxi-gui

    Inxi gives users a comprehensive inventory of their system hardware – but only at the command line. Inxi-gui, a graphical front end, makes things a little more convenient.

  • Inxi

    The inxi command-line tool provides useful information from the depths of the system.

  • StressLinux

    StressLinux helps you optimize your hardware and eke out more performance from individual components.

  • Ask Klaus!
comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More