Before you go ANY further, go to your motherboard's product page, click on Support, and check to see what the latest BIOS version is. Now, compare that to the version you currently have installed by taking a look at the POST screen or going into the bios and looking on the main page. The BIOS version is usually listed there. You may also be able to find it in Windows system information section of administrative tools.
If you are not on the latest version, I highly recommend that you update to it unless there is a very, very compelling reason to not do so such as known issues with a specific bios version or if you have ongoing problems with the motherboard that might cause it to fail in the middle of an update. For most people, neither of those things will be a factor.
Next, go to the Passmark software website and download the USB Memtest86 free version. You can do the optical disk version too if you for some reason cannot use a bootable flash drive. Create bootable media using the downloaded Memtest86 (NOT Memtest86+, that is a different, older version and is outdated). Once you have done that, go into your BIOS and configure the system to boot to the Memtest86 USB media.
Create a bootable USB Flash drive:
1. Download the Windows MemTest86 USB image.
2. Right click on the downloaded file and select the "Extract to Here" option. This places the USB image and imaging tool into the current folder.
3. Run the included imageUSB tool, it should already have the image file selected and you just need to choose which connected USB drive to turn into a bootable drive. Note that this will erase all data on the drive.
No memory should ever fail to pass Memtest86 when it is at the default configuration that the system sets it at when you start out or do a clear CMOS by removing the CMOS battery for five minutes.
Best method for testing memory is to first run four passes of Memtest86, all 11 tests, WITH the memory at the default configuration. This should be done BEFORE setting the memory to the XMP profile settings. The paid version has 13 tests but the free version only has tests 1-10 and test 13. So run full passes of all 11 tests. Be sure to download the latest version of Memtest86. Memtest86+ has not been updated in MANY years. It is NO-WISE as good as regular Memtest86 from Passmark software.
If there are ANY errors, at all, then the memory configuration is not stable. Bumping the DRAM voltage up slightly may resolve that OR you may need to make adjustments to the primary timings. There are very few secondary or tertiary timings that should be altered. I can tell you about those if you are trying to tighten your memory timings.
If you cannot pass Memtest86 with the memory at the default JEDEC SPD of 1333/2133mhz (Depending on your platform and memory type) with everything left on the auto/default configuration, then there is likely something physically wrong with the module AND you SHOULD run Memtest86 to test the memory at the default, non-XMP or custom profile settings BEFORE ever making any changes to the memory configuration so that you will know if the problem is a setting or is a physical problem with the memory.
After your memory will pass Memtest for 4 full passes, it is still not necessarily stable.
Problems with XMP profile settings and making it work
Now, go back into the bios and set the memory to the XMP profile settings, and run the four passes of Memtest once again. If it passes, you can move along to the next phase with Prime95 custom settings.
If you are having problems getting your memory to POST when set to the XMP profile settings, then I would suggest that you try the following. Keep in mind that if you plan to overclock the CPU/Processor, you will want to that that FIRST, and then worry about getting the memory to run at speeds or timings higher than the default base speed for your memory type. For DDR3 that is usually 1333mhz and for DDR4 that is normally 2133mhz. There are a few exceptions to this but whatever your memory defaults to before you make any setting, timing or voltage changes to it, can be considered the default speed for our purposes.
When you overclock your CPU, that is the configuration you want your memory to be in. Do not enable the XMP profile and THEN try to overclock your CPU. You may get errors that are not even related to your CPU overclock which will completely ruin your efforts. Overclock the CPU first, THEN worry about configuring the memory at custom or XMP values. So if you're past this, and are trying to configure your sticks for XMP (Or some custom setting which you can assume is also included from them point forward when I say XMP profile) profile settings but are not having any success, this is what I normally do.
Save any overclocking profiles you may have already configured on the CPU for reference later in case you can't remember because you'll be resetting the CMOS and those will be gone. Write them down on paper.
Turn off the machine and unplug the power from the wall. Remove the CMOS battery for five minutes and then put it back. Plug the power back in and power on to see if the system will POST, which it should.
If it will then go into the bios, re-enter ALL the previous settings for ONLY the CPU overclock you had configured previously, IF you had overclocked the CPU. Keep in mind, and this MIGHT be important, that on some systems depending on how fast the XMP advertised speed of your memory modules is, you may need to overclock the CPU to a higher frequency in order to get the memory to run at that speed.
This is because, to put it in laymans terms, at the stock CPU configuration the memory controller might be lazy. Overclocking the CPU by increasing the multiplier and voltage to some degree, and there is a whole other process you need to follow in order to do that and ensure the system is still stable, will help to kick the memory controller and system in the seat of the pants. Often a small overclock will eliminate all troubles running memory modules at moderate to high speeds even without an increase to the DRAM voltage.
For that reason alone, it's also a good idea to configure your CPU overclock FIRST, before messing with the RAM at all.
My own basic, but fairly thorough guide on overclocking your CPU, at least as far as the baseline configuration and testing procedures go, can be found here:
http://www.tomshardware.com/faq/id-3761568/cpu-overclocking-guide-tutorial-beginners-work-progress.html
Once you have configured your previous CPU overclock back in or done it for the first time and then verified that it is stable (VERY important. Do NOT cut corners when testing and checking for stability. Follow the testing EXACTLY as outlined in the overclocking guide.) you can move on to setting up your memory for XMP operation.
Set the XMP profile for the memory, save the BIOS settings and exit to see if it will POST. If it does, great. If it will not then remove all the memory modules except the one in the A2 slot (For most boards. Refer to your motherboard manual for single or multiple population rules). Reset the CMOS again by removing the battery.
Now go into the bios and enable the XMP value with only the one stick of memory(RAM) installed.
Save settings and see if the system will POST. If not, go back into the bios, make sure the XMP profile is still enabled, if not, enable it and THEN find your memory voltage (DRAM voltage) setting in the memory section for your board. There are too many boards to list how to find this in every board so finding the DRAM voltage setting will be up to you to do the research on.
Figure out what the smallest increment it will allow you to increase the DRAM voltage by is. Usually it is something like .005v, but some boards will only allow changes in increments of .020v. Your board might use even different incremental settings than these. Whatever the smallest increment is you can change the DRAM voltage by, that is what you want to do.
So now that you've found it, increase the DRAM voltage by .005v or whatever the increment is that it allows. You can usually input the value manually and then hit enter or you can often use the plus or minus keys to make changes to the value in the DRAM voltage field.
After increasing the DRAM/Memory voltage by .005v, save the bios settings, exit the BIOS and see if the system will POST and boot with the new settings. If it will not, go back in and increase the DRAM voltage by another .005v, save settings and try again. Repeat this process until the memory will POST and boot at the XMP configuration but I recommend not exceeding 1.6v for most DDR3 (Low powered DDR3L not included) or 1.4v for DDR4. Most spec sheets indicate you CAN go higher than these values without damaging the memory, but they make no mention of damage to the memory controller NOR how that will affect thermals on your CPU, so for all intents and purposes on a daily driver machine I recommend not exceeding those values even later on as you begin to add more modules.
If you cannot get XMP to work by the time you've reached 1.6v for DDR3, or 1.45v for DDR4, no matter how many sticks are installed, it is probable that there is a problem with the memory, you have different unmatched memory or you have a motherboard problem. It's also possible once again that you will need to make adjustments elsewhere within the bios as well such as the VCCIO or System agent voltages. Ryzen is a whole other beast, so you may need to do some Ryzen specific research on what other settings might affect XMP operation and stability at higher speeds if you are working with that platform. The Ryzen calculator is a good place to start.
Once you get one stick to work at the XMP profile speed then power the system off again and install the other memory module in the B2 slot. Again, double check YOUR motherboard user manual to verify that A2 and B2 are the slots designated for dual module population. On most modern boards, it is.
Power on and see if it will POST/Boot. If not, you'll probably have to power off, remove that module, go back into the bios and increase the DRAM voltage one step further than you did for a single module. Save settings, exit, power off, install the second module and try again. Repeat this process until you either succeed or reach the maximum allowable DRAM voltage for your platform. If you have more than two sticks, you can use the same process for the addition of each stick.
Once you get the system to POST with the new settings, it is HIGHLY advisable that you run Memtest again for 2-4 passes to ensure that they can still pass those tests with the new XMP settings.
If they can, and do, then a final test should be done using Prime95 version 26.6 (And ONLY version 26.6 except as noted below) choosing the Custom test.
Or if you prefer, or have problems running version 26.6, you can use the latest version of Prime95 with the Custom test selected but you will need to make the following change.
If you wish to use a newer version than 26.6 make the following edit to the "local.txt" file located in the Prime95 folder.
Find the line value that specifies CpuSupportsAVX=1, and change it to CpuSupportsAVX=0
Then click File-->Save, and then close the document.
Now open Prime95.
Click on "Custom". Input a value of 512k in the minimum FFT size field. Leave the maximum FFT size field at 4096k. In the "Memory to use" field you should take a look at your current memory allocation in either HWinfo or system resource monitor. Whatever "free" memory is available, input approximately 75% of that amount. So if you currently have 16GB of installed memory, and approximately 3GB are in use or reserved leaving somewhere in the neighborhood of 13GB free, then enter something close to 75% of that amount.
So if you have 13GB free, or something reasonably close to that, then 75% of THAT would be 9.75GB, which, when multiplies times 1024 will roughly equal about 9984MB. You can average things out by simply selecting the closest multiple of 1024 to that amount just to keep it simple, so we'll say 10 x 1024= 10240mb and enter that amount in the field for "Memory to use (MB)". We are still well within the 13GB of unused memory BUT we have left enough memory unused so that if Windows decides to load some other process or background program, or an already loaded one suddenly needs more, we won't run into a situation where the system errors out due to lack of memory because we've dedicated it all to testing.
I've experienced false errors and system freezes during this test from over allocating memory, so stick to the method above and you should be ok.
Moving right along, do not change the time to run each FFT size.Leave that set to 15 minutes.
Click run and run the Custom test for 8 hours. If it passed Memtest86 and it passes 8 hours of the Custom test, the memory is 100% stable, or as close to it as you are ever likely to get.
If you get errors, (and you will want to run HWinfo alongside Prime95 so you can periodically monitor each thread as Prime will not stop running just because one worker drops out, so you need to watch HWinfo to see if there are any threads not showing 100% usage which means one of the workers errored and was dropped) then you need to either change the timings, change the DRAM voltage or change the DRAM termination voltage, which should be approximately half of the full DRAM voltage.
There are also other bios settings that can affect the memory configuration AND stability, such as the VCCIO and system agent voltages, so if you have problems with stability at higher clock speeds you might want to look at increasing those slightly. Usually, for Intel at least, something in the neighborhood of 1.1v on both those is pretty safe. There are a substantial number of guides out there covering those two settings, but most of them are found within CPU overclocking guides so look there in guides relevant to your platform.