MemTest86+ is what I usually use to test my client's machines. I find it's pretty accurate. It's helped me diagnose more then a few odd machine lock ups.
MemTest86 was the original bad boy of memory testing. The standard if you will. But the developers stopped working on it, so some fans of MemTest86 picked up the source code and continued development with MemTest86+.
As for overclocking, your FSB will affect your processor's speed, your memory's speed and your peripheral bus speed. Generally speaking, overclocking tends to fail because something gets too fast. Sometimes it's the processor, sometimes it's the memory and sometimes it's the PCI bus. Technically, as long as each part stays within it's supported speed, there's not too much problem. However, depending on the motherboard, sometimes when you try to get one part up to speed, you sometimes get the other parts past their limits.
For example, if you clock up your FSB to get your memory running at it's maximum speed, your processor may end up getting clocked higher then it can support. So the memory and the PCI bus might be running fine, but the processor is so clocked up that it won't even boot. Sometimes it the other way around, sometimes you'll clock your processor up to get some extra performance but then your memory will be getting clocked too high and you'll start getting memory errors across the board.
My particular problem I had when I used to have my PIII-800EB was that I could overclock my FSB to 150MHz (up from 133MHz) and the CPU would run fine at 903MHz (up from 800MHz), my ram would run fine at 113MHz (down from 133MHz) but my PCI bus would reach it's limit at 37MHz (up from 33MHz).
My board had no individual control on clock multipliers, so I could only pay with FSB settings and ratios (FSB:RAM:PCI - 133:133:33 / 133:100:33 / 133:66:33 / 100:100:33 / 100:66:33 [I think those were the settings...]).
The fact that you can set your clock multiplier on your processor gives you great advantage in clock setting. This way you can increase your FSB to match the speed of your memory and reduce your clock multiplier on your processor to keep it running at it's original frequency. Whether you run a processor at 10*133MHz or 13*100MHz, it does not make a difference to the processor. It's 1,300MHz (+/-30Hz) either way.
What does change however is your FSB which DOES affect the rest of your components. However, if you take a motherboard which is rated to run with up to a FSB of 400MHz (200MHz system clock), then everything on the actual motherboard can support that frequency. What is left to decided whether you can run at that frequency or not are the components plugged into your motherboard. If the memory is rated for 400MHz, the memory portion will be fine. And if your FSB*MULTIPLIER equals a speed your processor can handle, you're in business.
Of course, you receive a much higher performance boost with 10*133MHz then 13*100MHz because the extra 33MHz shows across the board on all components of the motherboard (including, obviously, the motherboard itself).
Ideally, I'd try running your system with your processor at 8*200MHz (if you can set the muliplier that low) and see if you can get your memory to run at the speed error free. If you do, then I'd try upping the processor multiplier by 0.5 to see how far you can push it. Unless you boost voltages, you can't damage your components by simply having them run at higher frequency clocks. Worse that'll happen, your machine won't boot. At which point you reset the CMOS and back up a step to the last stable configuration.
Once you find that point, you test it heavily with MemTest86+ for integrity. Then after that you burn the system in using heavy games and things for stability.
Oh and if you look at the memory bandwidth in MemTest86+, you'd be amazed at how much of a difference there can be by a few MHz increase in the system clock.
This post has been edited by jcarle: 26 July 2005 - 10:54 PM