
Memory Testing
Memtest86+ is a utility designed to test the efficiency of RAM
Memory. It constantly writes a vast amount of different patterns to all memory locations, reads them back again and then verifies whether
the result of the read is the same as what was written to memory.
There can be a multitude of reasons for running memtest,
but principal of all is to test whether your modules might be inefficient. If
you suspect malfunctioning memory modules because of system crashes, lockups or
reboots it would be nice to know whether the modules are in working order.
Memtest86+ is a utility which tries to answer that question for you.
How to run memtest
There are several ways to use memtest,
which are described below:
For Linux, please go to http://www.x86-secret.com
For USB Flash drive, please go to http://www.x86-secret.com
To make a bootable Floppy from within Windows
First you would download the memtest
utility to a directory on your Hard Drive, you would make a directory called memtest and download it to C:\memtest\ on your Hard drive,
then using WinZip http://www.winzip.com extract it to the same directory.
Please use a brand new floppy disc and do a fresh full format on
it, if there are any bad sectors just throw it away and get another one.
Click on the install.bat file in the
directory where you downloaded and extracted the files and follow the on screen
prompts to make the memtest boot disk.
Enter BIOS set up, change the boot order to floppy drive then hard
drive, put the Floppy in the system you want to test and boot the PC
To make a Bootable CD from with in Windows
You would download the ISO image that has a .zip extension. .tar
files would be for UNIX/Linux. Memtest.ISO Then use
http://www.winzip.com
to extract the ISO image to the same directory that you
downloaded it to. Then using CD-R software you will burn the image to CD.
Note: Do not copy the image; there is usually an option under file
or burner to burn image. Then you would simply re-boot the system or put the CD
in the system you want to test and set the bios to boot from CD first or before
the HDD[/b]
+ Run from CD/Floppy
Your machine should now boot from the disk (CD/Floppy), display the
word Loading followed by a series of periods and then
show a screen much like the screenshots on the memtest86+ web page. The test is
automatically started.
If your machine simply boots back into Windows/Linux you will most
likely have to configure your BIOS to attempt to boot from floppy disk on startup, refer to your computer's/main board’s manual how
to do this.
When you are done testing simply remove the floppy and reset your computer,
if ever you want to execute the test again simply reinsert the disk and
reboot/start your computer.
If your machine simply boots back into Windows/Linux you will most
likely have to configure your BIOS to attempt to boot from CD-ROM drive on startup, refer to your computer's/main board’s manual how
to do this. When you are done testing simply remove the CD/floppy and reset
your computer, if ever you want to execute the test again simply reinsert the
CD/Floppy and reboot/start your computer.
How long does memtest run? How do I stop
it?
Memtest runs
indefinitely unless you stop it. It does however repeat the same tests over and
over again. Memtest86+ contains a number of different tests which each take
different approaches in trying to expose any errors in our memory.
In the top right of your screen you can see the progress of each
test in the lower of the two progress bars. The topmost progress bar shows the
progress of a pass, each pass consists of all the tests in the memtest suite. Thus all tests are executed in one pass, so
does that mean that no errors will show after the first pass if that pass
didn't reveal any errors? Well no, there are several reasons why errors might
only show up after a number of passes. Firstly as of this writing, the latest
version of memtest also includes a test which uses
random test patterns, each pass these patterns will of course be different.
Secondly some types of errors simply don't show up until the system has been
running for a while or are very critical on a certain timing condition, or
other such conditions.
To conclude, one successful pass of memtest
will give you a pretty good idea that your memory is ok, only in rare cases
will there be errors showing after the first pass. To be sure though simply have
the test run overnight or even for a couple of days depending on the level of
importance of the system.
How many errors are acceptable?
No errors are acceptable. Even if there is just one error,
something is amiss which can cause your system to crash. Of course what the
cause of the errors is you will still have to determine.
What do I do when I get errors?
Firstly, don't start drawing any conclusions. You only know that
memtest86+ is giving your errors, not what the cause is. Unfortunately it is
not a straightforward exercise to decisively test the memory in an actual
system. This is because a computer is not just built up of some memory, but
also includes many other elements such as a memory controller, cache, a cache
controller, algorithmic and logic units, etc, all of which contribute to the
machine. If there are faults in any of these other parts of the computer you
will likely also see errors showing up in memtest.
So what to do?
First verify that the BIOS settings of your machine are correctly
configured. Look up the memory timing settings applicable to the brand and type
of memory modules you have and check they match your BIOS settings, correct
them if they don't and run memtest again Ok, you have
all the settings correctly set and you're still getting errors. Well of course
very likely causes are the memory modules and the logical course of action is
to look into them further.
If you are well stocked, have a few other machines at your
disposal, or just want to spend the cash for some new modules the best way to
test if the cause are your memory modules is just to replace them and test
again. If you are less fortunate though there is still something you can do.
If you have more then one module in your system, test them one by
one, if one is consistently giving errors and another is consistently showing
no errors it's a pretty good bet that the module giving the errors is simply
defective. To exclude the possibility that a defective slot is throwing your
results, use the same slot to test each different module.
If each module by itself shows no errors, but when you place two or
more modules into the machine at the same time you do get errors, you are most
likely stuck with a compatibility issue and unfortunately there isn't a whole
lot you can do about it. Be sure to check your computer/motherboard manual to
see if the setup you are trying is allowed, some boards require special
restrictions in the sizes of modules, the order of modules, the placement of
double sided and single sides modules and more of such things. If you have only
one module in your system, or all modules are giving errors, there are only
very few options left. The only thing you can do really is to try the module(s)
in another slot. Finally simply try out different orders of the memory modules,
although your manual might not mention anything on the matter sometimes there
simply exist timing or other issues which can be resolved by changing the order
of your modules. And of course test each slot by putting a single module into
that slot and running memtest on it.
In the end if you still have not been able to localize the problem
you will have to find a replacement module to establish whether the problem
lies in your modules. See if you can borrow a module from someone else. When
you have replaced the memory by new memory and the errors still persist, first
check if you can rule out any compatibility issues or timing issues. If you are
sure the memory should work in the system the cause of the errors must
obviously lie someplace else in the system. The only way to find out where; is
by trial and error really. Simply start replacing and/or removing parts of your
computer one by one, running memtest each time you changed
anything, until the errors are resolved.
I'm getting errors in test #x, what does that mean?
Interpreting memtest results is as
scientific an endeavor as testing whether a person is
a witch by the methods used in Monty Python's Holy Grail. In short, don't even
start; it's not going to get you anywhere. Just interpret any error as you
should any other and use the methods described in the previous question to
determine the cause.
I'm getting errors in test #5 and/or #8 and have read a lot about
it.
Yes there are just about enough discussions on the topic to fill a
book, but it all boils down to the answer given above. The only thing that can
be said is that many times, when memory latencies are incorrectly set in the
BIOS you will experience errors in test #5 and #8. (Though #8 does not exist
anymore as of version 1.40 and might be reinstated as a different test in a
later version.) This does however NOT mean that errors in these tests are
always the cause of incorrect settings; your memory might just as well be
defective. However, if you have a failing module they will usually fail in test
4 no matter what frequency you run them at or at any given clock setting. And
failures in test 5 or 8 usually would suggest that either one of a few things:
A. The settings are too tight or to aggressive for your system, IE
not every MB can run with Cass timings of Cass 2-2-2-5 at DDR400 like with our
XMS3200XL modules, and maybe relaxing the timings to check for this would be
prudent to test. Try Cass 2-3-2-5 with the Rass to
Cass set to “3” for example
B. You may have an un-stable power supply for your system
configuration. Make sure that you have the correct type of PSU (Power Supply
Unit) and that it has enough power for your system configuration.
C. All of our modules are rated up to 2.9 Volts, and in most MB’s I would suggest 2.7X volts with Most of our modules.
In the case of our XMS3200XL modules and faster the minimum voltage would be
2.75 Volts. So you may want to look your specific modules part# up in XMS
Qualifications and Testing
(http://www.houseofhelp.com/v2/showthread.php?t=33521) to see if there are any
voltage and/or MB requirements. Like adding extra cooling.
D. One of your modules may be failing, but that would or should
become apparent when testing then individually.
I'm getting errors in memtest on one
machine, but not when I put the same memory in another, what does that mean?
It can mean one of two things:
The machine that is giving the errors is defective. Errors don't
just originate from the memory module itself, but can also be caused by defects
in the CPU, chipset, motherboard, PSU and even by timing issues introduced by
any other component in the machine.
The machine giving the errors is imposing stricter timing than the
other which the memory module simply can't cope with. If the module should work
with the machine according to its specifications then it most likely is
defective.
Which memory is tested?
As much as possible of the system memory is tested. Unfortunately
memtest86+ can usually not test all of the memory. The reason for this is that
today’s processors have become so complex that they require a small amount of
memory to keep accounting data of the processor state. If memtest
were to write over these areas the state of the processor becomes invalid and
its behavior unpredictable. Alas it is also
impossible to relocate these areas in the memory.
This means that a small area of your memory can not be tested by memtest. If this part of the memory is defective you will
know soon enough though as the processor, or parts of the processor simply
won't work correctly if this part of your memory is defective. Do realize
though that in very rare cases memtest will show no
errors even though the module is defective, not because memtest
can't detect the error, but because memtest can't
test the area the error is located in.
When I select BIOS-ALL I get many errors / my machine crashes.
This is normal. With today’s computers this option should never be
selected. See the previous question about the reason for the errors.
Memtest freezes
or my system reboots when running memtest.
Check that you have USB legacy support disabled in your BIOS setup.
Some BIOS’s had a bug in them which causes memtest to write over the memory area used by the USB
legacy support resulting in freezes or reboots.
If memtest86+ shows no errors does that mean my memory is not
defective?
Of course no answers are definitive, no matter how good memtest86+
will eventually become there is always the possibility that a particular type
of error will go unnoticed. As long as you are having no problems with the
system it will be pretty safe to say that the modules are good. If you are
having problems with the system however you will just have to check by trial
and error, IE; swapping the modules for new ones and/or testing with modules of
a different brand/type.
When I run install.bat it doesn't write
anything to floppy.
You most likely have unpacked the memtest+-1.xx.floppy.zip file
into a folder with a long pathname and/or containing + and - signs. It seems rawrite doesn't like that. Just move the files you unpacked
to a directory like c:\memtest and execute it from there.
To make a bootable Floppy from within Windows
First you would download the memtest
utility to your HDD, then using www.winzip.com extract it to the same
directory.
Please then get a floppy and do a fresh full format on it, and if
there are any bad sectors just throw it away and get a new one. Then click on
the install.bat file in the directory where you
downloaded and extracted the files and follow the on screen prompts.