47

My computer hangs at random on multiple occasions and on different OSes today, requiring me to hit the reset button. I suspect it could be a memory problem and did a memtest with memtest86.

It went through two passes with no errors. Is that enough, or do I need to run through overnight until I see an error?

What if it is a motherboard or CPU issue? How do I know without getting a new motherboard?

System Specifications:

  • Memory: 2.0GiB
  • Processor Pentium(R) Dual-Core CPU E5300 @ 2.60GHz x 2
  • Motherboard: ASUS P5KPL-AM EPU
  • You've probably gotten this figured out by now, but next time take a look at the kernel log on Linux after it hangs. That will give you an idea of what is going on. – scottkosty Jul 16 '14 at 15:24
  • @CarComp: Please post the failed memtest results. – harrymc Mar 10 at 17:59

10 Answers 10

22

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)

  • 2
    I suggest to try to clean the RAMs and socket and test them again first (use isopropyl alcohol; made positive experience with disinfection spray as replacement; But don't spray the latter one directly onto RAM - only onto the cloth as it shall only serve as resolvant and will eventually leave some residues when used in too high amounts) – SDwarfs Dec 8 '14 at 14:33
  • 3
    So if somebody get at least one error - he'd throw his RAM out, go and buy a new one? Are you sure? – Tarasovych Apr 28 '18 at 21:51
  • @Tarasovych: It depends on how important system stability is to you. At the PCs I maintain at work, I'd do exactly that (throw all the RAM out and buy new one), because (1) RAM is cheap and (2) software developer time is expensive. In fact, even throwing away the whole PC and buying a new one might turn out to be cheaper than lost productivity/work due to unreliable PCs. – Heinzi Sep 3 '18 at 21:25
  • @Heinzi take a look on RAM price today and year ago... But maybe at your locale there is cheap RAM. But I agree that good RAM w/o errors is neccesary for development. Nobody like RAM faults/BSODs while coding) – Tarasovych Sep 3 '18 at 22:48
  • 1
    Overclocking can also cause these errors, but that doesn't mean you should throw out your ram, just reduce overclocking or increase dram voltage in safe range. – M.kazem Akhgary Mar 1 at 17:36
20

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.

  • if it is a heat related problem wouldn't prime95 be a better test vector, to generate a lot more heat in the system? – Jeff Atwood Nov 6 '15 at 1:27
  • @JeffAtwood No expert here, but prime95 woudn't necessarily point to RAM errors right? – Hele Nov 18 '15 at 15:12
  • To test for heat related errors, run one instance of memtest per CPU core.Select your performance profile under power management. For laptops, do not place them onto cooling stands. Let memtest run for 24 hours. If no errors, you dont have issues with the ram. – user986363 Jan 9 '16 at 14:50
11

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.

  • 2
    I actually saw errors starting at pass 3. I assume this has to do with the warming up of the RAM, CPU and/or memory controller. All my problems of this kind were related to either improper connection of the RAM to the socket, socket to motherboard or debris on the RAM (as I took the RAM out, cleaned RAM + Socket connector and put the RAM back in which eventually resolved the problem). – SDwarfs Dec 8 '14 at 14:22
  • PS: I suggest at least 3 passes. While overnight with ~ 5-8 passes is more reliable. – SDwarfs Dec 8 '14 at 14:23
  • 1
    I've seen errors surface on a third pass, I believe due to heat. – benallansmith Mar 9 '15 at 3:07
  • 1
    I have seen a problem showed after 2-3 hours of memtest86+. Same memory for 30 min was "ok". – i486 Oct 10 '16 at 7:36
10

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?)
6

I have seen RAM pass the first 6 passes of memtest and then fail subsequent passes, and when running a Linux OS with that RAM would see locking up after a 6-8 hours. Other RAM on the same motherboard ran fine, so apparently the failing RAM was temperature sensitive.

When I suspect a RAM problem (e.g. Dell computers with diagnostic lights) I run memtest on one RAM module at a time in the first slot for 8-16hrs. If it passes that confirms both that slot and RAM module are good and I can (more) confidently use that slot to test other RAM modules.

  • Are you sure that Memtest86 tests RAM slots? I wasn't aware it did. – Hashim Nov 22 '18 at 20:31
5

My experience with memtest86+ differs a bit from most people here. memtest86 has helped me a lot along the years but unfortunately it sometimes fails to detect errors.

Although memtest works the majority of the time, it failed me a couple of times. The first time it failed to detect errors i had a PC with 1x 4GB DDR3 that was giving me BSODs related to the memory. I ran memtest for an entire day, we're talking about 15+ passes but no errors. I then tested it on a completely different computer, same thing, no errors. Operating system was completely unstable but no errors on memtest. I then used a different software named "PC-Check" from Eurosoft which is very similar to memtest but uses different algorithms. It is also bootable, does not need any operating system. It detected errors in less than 5 minutes. I then was able to send the module to Corsair RMA and get a replacement.

So, memtest is very good but not always enough. I currently use memtest and PC-check to check memory. If memtest fails to detect errors, PC check certainly will and vice versa. And trust me, it happens more often than one would think.

2
+50

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.

  • Your answer conveys insights that go beyond the others. – CarComp Mar 18 at 4:00
1

I do one pass to see if there are any obvious errors.

If there is an error no more passes needed.

If the problem with the computer is strange i let it go overnight or over day for ~10 hours just to be sure.

1

I usually run memtest EVERY TIME I change CPU, memory or notice odd issues. Reason is - memtest does not just test memory. It will error out in three other important cases:

1) If there are issues due to overheating of either CPU or memory. Normally, memtest loads CPU for several of the tests to almost 100%.

2) if CPU cannot access memory correctly. Most of the tests read & write at all locations of the memory.

3) if there are problems with power. I.e. a weak power supply or bad capacitors cause too many spikes offsetting random bits.

If I see at least a single red error, I start looking for what should be removed / fixed before using the hardware.

  • 1
    While this may be useful information, it doesn't answer the original question. – blm Jan 12 '16 at 4:17
0

Given that, after one pass, it displays Pass complete, no errors, press Esc to exit, I always assumed that's sufficient.

enter image description here

  • 6
    Err, if that is really the case, wouldn't memtest automatically stop after one pass instead of allowing us to carry on testing forever? – Question Overflow Feb 14 '13 at 2:54
  • @QuestionOverflow: I don't know, would it? – Der Hochstapler Feb 14 '13 at 12:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.