Testing your memory, the Open Source way

419

Author: JT Smith

By Russell C. Pavlicek

You are probably used to seeing the memory test that occurs when you boot
most PCs. This proves that your machine has good memory, right? Well,
not exactly.

The memory test a PC performs is quite basic: it will turn up
gross failures in memory. Unfortunately, it does not do much to reveal subtle problems. To do that, the PC would need to do an extensive
memory evaluation. Your machine won’t do it, but Memtest86 will.

Memtest86 is a
stand-alone program that allows you to thoroughly exercise the memory
on your machine. It requires no operating system or human intervention and can boot from a floppy or hard drive partition.
And, if that’s not enough to interest you, it is distributed under the GNU General Public License.

Why bother?

We tend to think that if our machine runs, the memory must be
good. Unfortunately, this is not always the case. A flawed section of memory
that does not normally load kernel-level code can be a time bomb, causing intermittent failures of any application which
happens to load in that section of memory. And, on today’s memory-rich
machines, a bad section of memory might only be accessed once in a great
while.

We often expend considerable effort to make certain our machines are
not vulnerable to hacking or (in the case of Windows PCs particularly)
viruses. It is only reasonable that we take a few minutes now and again
to insure our PC’s memory is sound. Any
system that appears to be less stable than it once was should be tested
with Memtest86.

Installation

Installation is simple, even when using the source kit on a machine with the gcc compiler installed. Download the
tarball, extract it, change directory to the source location, and type
“make.” That’s all.

Even on an old machine, the build process is very fast. The entire kit
takes up less than a megabyte of space unpacked. A modern PC will build
the program in a few seconds. Even most slow machines can build the
software in less than the time it takes to get a fresh cup of coffee.

To load Memtest86 on a floppy, just pop a formatted disk into the drive
and use the “dd” command to copy the memtest.bin file onto the floppy.
That’s it. You’re ready to go. No configuration necessary.

Execution

Running the program is even easier. Simply insert the floppy disk into the
machine you want to test. If the machine in question does not normally
try to boot from the floppy, you will need to enter the CMOS setup and
make the floppy a boot device.

Boot the machine. Memtest86 will load itself from the floppy and begin
execution automatically. Yes, you can pick and choose what memory tests
to run by entering the configuration menu (by pressing the “c” key), but
the default suite does a good job of exercising the machine.

Note that even using the default suite of tests, each pass can take some
time. On my Thinkpad 755CX (75 MHz Pentium with 40 MB of memory), for
example, each pass through the default memory tests takes about 23
minutes. On my 1 GHz Athlon with 128 MB, each pass takes about half that

time. But the tests run fine without intervention, so you can attend
to other matters for a while and come back later to see how things are
going.

It should be noted that the program just runs and runs. Don’t wait for it
to finish, because it won’t. It will show progress as it is running, so
simply decide how many passes you want to endure and then press the escape
key when you are satisfied with the results. On most machines, the escape
key will cause the system to reboot. On my Thinkpad, it caused the
program to halt, but I had to use the halt button to power down the
machine and then manually reboot.

I noted one other small glitch while running the program on my Athlon box.
Entering the configuration menu and instructing Memtest86 to restart the
tests caused the program to hang. A simple reboot both cleared the
problem and had the originally desired effect.

The software comes with an in-depth README file. Look at this file to
decode the errors that may occur. The README also provides technical
details regarding the various tests that are employed, as well as tips for
troubleshooting memory problems. If problems occur during testing, you
will definitely want to consult the README to determine your best course
of action.

Conclusion

Memtest86 is both useful and simple to use. It can run from any x86 PC
that can boot from a floppy. And, by testing memory thoroughly, the
program can save you untold agony down the road by identifying subtle
memory errors before they have a chance to corrupt your data. It is well
worth the time to install and run.