How many passes are enough with Memtest?

Testing can not prove the absence of bugs, only their presence

Memtest is great for finding errors in RAM. The rate at which is find errors is by necessity inversely proportional to how broken the RAM is. The more broken it is the faster it finds errors.

90% of the time, if the RAM has a problem, memtest will find it within 10 seconds, 99% of the time, one pass will be enough to find the issue. The longer it takes to find the issue, the more subtle it is and the less likely it is the cause a problem with your PC (but you should still get new ram if you get even one error)

As the your computer is crashing quite frequently and you have run a few passes, It's probably not your RAM. As a next step, you should test you hard drive and then CPU with a tool such as Ultimate Boot CD or Hiren's. (Most modern BIOS's also have a built in HDD testing feature)


I've run memtest and seen 6 passes with no errors, with 4+ errors per pass after that. I normally just run 3-4 passes, but it's certainly possible to miss errors by doing just a couple of passes. I'd imagine that some errors only pop up as the memory modules heat up, thus causing problems with memory running at a high voltage.


At work we usually left the machines running over night, but in all fairness, every time I've been able to show a memory problem with memtest it has been within seconds of starting it.

I've never seen a machine do 1 full pass to fail on one the following. (Not that it is necessarily impossible, just to show that it is rare.)

I used to work in a computer shop where we started memtest on new machines on a more or less daily basis.

Without enough info to really say so I'd still guess your problem is likelier an over heating or bad driver one.

Since you've tried more than one OS the driver part seems unlikely. Unless you've for example only tried different windows versions that use the same driver.


MemTest86 tries to do a complete test of the RAM. While doing so, it has also become a good all-around test, since some of the tests also touch upon the motherboard's memory controller and the CPU.

RAM has much increased, to the point that a portable phone may today contain more RAM than for a mainframe of 20 years ago. The tests have multiplied as MemTest86 has evolved, and so has the RAM. Although the RAM has become faster, the tests are still time-consuming, measured in hours or even days.

Now for the bad news: I have found at least two respectable sources, Ten Forums and wiki How that give the same advice. I quote from Ten Forums:

MemTest86+ needs to run for at least 8 passes to be anywhere near conclusive, anything less will not give a complete analysis of the RAM.

If you are asked to run MemTest86+ by a Ten Forums member make sure you run the full 8 passes for conclusive results. If you run less than 8 passes you will be asked to run it again.

I should remark that MemTest86 has two versions, the Free and Pro, where the Pro version has several more tests than the Free version and configuration options. You may see the differences in the article Feature Comparision.

More information about the optimal number of passes can be gleamed from the article MemTest86 Technical Information from the description of the MemTest86 config file, mt86.cfg, available only in the Pro version:

PASS1FULL

Specifies whether the first pass shall run the full or reduced test. By default, the first pass shall run a reduced test (ie. fewer iterations) in order to detect the most obvious errors as soon as possible.

Conclusion 1: The first pass is shorter and faster, intended mostly to detect hard errors. The fact that the first pass has passed without error is encouraging, but users of the Free version need to wait for the second pass for the full gamut of tests.

The largest number of passes I have found was in this test:

Test 7 [Moving inversions, 32 bit pattern]

This is a variation of the moving inversions algorithm that shifts the data pattern left one bit for each successive address. The starting bit position is shifted left for each pass. To use all possible data patterns 32 passes are required. This test is quite effective at detecting data sensitive errors but the execution time is long.

Conclusion 2: Test 7 needs 32 passes to be totally complete, which I take as the upper bound on the number of passes required for a really exhaustive test.

I also remark that many of the tests use a random pattern, with a different pattern for each pass, meaning that each pass is different. Taking it to absurd heights, we might conclude that there is no upper limit to the number of passes required for an absolutely conclusive result.

My opinion

My opinion as regarding the number of passes is that one should run as many passes as one has the time to wait. The lower bound seems to be two passes, as only the second one will be a full test. But the question of "how much is enough" has no real answer. I note again that for the two technical references that I cited above, the minimal number of passes required for a good and conclusive result is 8 passes (perhaps so that Test 7 will do one whole 8-bit byte, among other reasons).

On the other hand, errors found by MemTest86 should be taken very seriously. As the question was raised here about the acceptable amount of failures, my answer is that even one failure is too much and not acceptable.


http://hcidesign.com/memtest/manual.html

100% coverage represents one full pass of testing your memory. In general it is better to run multiple passes. Here are three typical lengths of testing you might use:

  1. Test until 100% coverage (a quick test to make sure your RAM is functioning reasonably)
  2. Test for 1 hour (this will catch everything except intermittent of errors)
  3. Test overnight (recommended; your computer is not doing anything else at night anyway, why not be absolutely sure your RAM is good?)