Memtest86+ is an application that sends random bits of data through RAM to detect errors. Memtest86+ can find if your memory, memory socket, motherboard, or bios settings are bad.
root # emerge memtest86+
Memtest86+ needs to be loaded upon boot, so bootloader entries need to be setup for memtest86+. Instructions for inserting memtest into your bootloader are contained within the merge messages.
Testing individual sticks in individual sockets will determine if the chip or socket has problems. If each chip, and each socket are fine individually advance testing to include more chips until the motherboard is full.
Once all the chips are working fine in single thread mode, test the chips in smp mode by quickly pressing f2 at the start of the test.
Locations of failures can be determined via hex addresses.
To load DMA information:
This will produce an output similar to this:
DIMM0 00000000000 - 000ffffffff DIMM1 00100000000 - 001ffffffff
To have DMA info go away:
Physical failures within the ram or sockets will show an error address similar to this:
002fafafafa - 002fefefefe
For the example computer that's having problems, they are occurring at the 3rd DIMM. if you swap the 3rd and 4th DIMM, and 3rd DIMM is still throwing errors, it is either a motherboard hardware or bios settings problem, or processor physical problem. The other case that is possible is a failing, or under powered power supply.
As memtest86+ is a program, it is loaded in ram. if ram is bad, memtest can freeze, or randomly power off the system.