Jump to content
Corsair Community

What is memtest86+, what do I use it for?

Recommended Posts

  • Corsair Employee

UPDATE: We have posted a new bootable USB flash drive tool in our How To section. This tool has 2 default options; 1 for Memtest and 1 for a DOS prompt.




Taken from X86-Seret.com, and modified by Ram Guy

What is memtest86+, what do I use it for?


Memtest86+ is a utility designed to test whether your memory is in working order. It repeatedly writes an enormous amount of different patterns to all memory locations and reads them back again and 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 foremost of all is of course to test whether your memory modules might be bad. Whenever you suspect your modules to be bad 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.


Another common use exists in the over clocking scene. When over clocking a system you are essentially pushing your system to the limits and at some point it will simply give way and break. Unfortunately there isn't a clear cut way of deciding whether a system is still working correctly. Because of the complexity of a computer a system which is pushed to the limits doesn't just break completely when it starts to fail, instead little errors start showing up in many different places in the system growing more frequent and widespread the more the system is pushed. Each one of these little errors can lead to a rash of your system but can also go unnoticed for days or weeks in a running system. The art so to speak of over clocking is thus to push the system as far as it can go without introducing any such errors. As memory is usually one of the first places these, such errors start coming up, a memory test is very useful.


- How do I get it to run?

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 with in Windows

First you would download the memtest utility to a directory on your HDD (Hard Drive), you would make a directory called memtest and download it to C:\memtest\ on your HDD (Hard drive), then using {Http://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 to make the memtest boo disk. Then you would simply re-boot the system or put the Floppy in the system you want to test and set the bios to boot from floppy first or before the HDD.


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://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.


+ 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. You may want to look your specific modules part# up in XMS Qualifications and Testing (http://www.asktheramguy.com/forums/showthread.php?t=52351) 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 it's 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+-2.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.

Edited by Yellowbeard
Update links
Link to comment
Share on other sites

  • 4 years later...
This topic is now closed to further replies.
  • Create New...