Before you start
Objectives: Learn about typical memory problems and how to diagnose them using memory testing tools.
Prerequisites: no prerequisites.
Key terms: memory problem, installation, troubleshooting, diagnostics, memtest
When it comes to RAM, we can typically have a problem when a memory module goes bad, and another type can be related to installation or configuration problem.
RAM is an electronic component, and it is possible for RAM to be damaged by power surges and ESD (improper handling). This type of problem can sometimes be difficult to diagnose since the problem can be intermittent (it can happen now and then). The reason for that is that our computer may run fine until it tries to use the memory location that has a problem, and only then we will experience errors. If it doesn’t use the problematic memory location, the computer runs fine.
Keep in mind that we need to differentiate software memory problems and hardware problems. Sometimes we will see system message about memory problems cause by an application. The thing is, Windows OS tries to manage our memory, and if an application is poorely written, the application can try to use the memory outside of the range that the operating system has assign to it. When that happens, the error will typically be detected by the OS and we will see a message on the screen saying that there was a problem. When we see this type of problem, the reason is a particular application, and the hardware (the RAM modules) are typically just fine. However, there is a catch.
To diagnose the hardware problem on the RAM, we can watch the memory address that is displayed when the error occurs. If the error indicates the same memory address over and over, regardless of the program, the problem is probably caused by the physical memory. The question is then which memory module has that bad address which is causing the error to occur. The easiest way to find this out is to start replacing individual modules, and seeing if the error occurs without specific module installed. If the error doesn’t occur when one particular module is removed, then we’ve found (isolated) the problematic memory module. The weakness of this method is that there might be more than one memory modules that are bad. If this is the case, we have to install different combinations (with new module which we know is working), or we simply try to use our computer with only one memory module installed and test it that way.
In this case, we know that the memory module is working fine, but still we experience memory problems. Before we go on, keep in mind that when working with memory modules, we need to ensure proper ESD protection measures to avoid ESD discharge that will damage the memory module. The most common problem is improper memory installation. For example, common problem is that memory modules are not seated all the way down. The thing is, memory slots on different motherboards are sometimes tighter that the others, and we have to make sure that the modules are seated properly. The hooks on the end have to come up and “grab” the memory.
Another problem can come if we have to install memory in pairs. The fact is that today we don’t have to worry about that any more, but we might encounter older systems on which this fact is still important. The best thing to do here is check motherboard documentation because some motherboards may require us to install modules in specific order. For example, if we have four slots, and we have two memory modules, some motherboards required that we populate slot 1 first, and then slot 3 (not slot 2). Again, we have to check the documentation for this, and see if this maybe applies (if we have older motherboard). Even if we did it incorrectly, the system may boot up, so how do we know if we populated the wrong slots? Well, during the POST process, the system will check the installed memory. So, if we install two memory modules, but during POST we see that it only recognized one memory module, we know we have a problem.
When working with memory there is one other typical problem, and that is timing. RAM modules have clocks built in, meaning that it runs at a certain speed. So, we need to make sure that the memory speed matches the front side bus speed. Otherwise, we will have timing problems. The thing is, we might be able to install specific memory module in our slot, but because of the improper timing, we have errors. To ensure proper timing we have to check our motherboard documentation and get the correct memory modules.
If we receive “Not Enought Memory” or “Out of memory” warnings when we try to use more programs at a time, this is a clear indication we may need more physical memory.
Indications mentioned here can depend on the motherboard, but sometimes this can be an indication of what to check first. For example, if we can’t boot our computer and we hear a beep code, this typically means that the memory was not detected. If the screen remains blank, this may indicate that the installed memory is unsuported. If the PC boots, but the memory count is incorrect, we should check BIOS settings and ensure that the installed memory is compatible and installed in proper order (if needed).
The first thing we can do is enable memory test in our CMOS program. Most CMOS programs have that option turned off to boot the system faster. During POST, the memory will be counted, but if we also want to test the memory as well as count it, we can go into our CMOS setup program, and locate an option like “Fast startup” or “Fast boot” or something similar. So, we need to disable that option, which will make our BIOS to test the memory during boot up process.
In addition to using BIOS, we can use the Windows Memory Diagnostic tool (available in Windows 7 and newer versions) or a third party tool like memtest, or other.
Windows Memory Diagnostic Options
When we run Windows Memory Diagnostic we can choose to restart our computer and check our memory for problems. Memory Diagnostics Tool is available in Control Panel (in the search box, type Memory, and then click Diagnose your computer’s memory problems), or we can simply enter Windows Memory Diagnostic in the search box in Start menu.
Windows Memory Diagnostic Example
If we have older version of Windows which don’t have memory tester built in, we can use tools like memtest. In this case we typically download the memtest ISO image burn it to a CD. Then we boot our computer from that CD and run memtes. Memtest also prvides autoinstallers for a USB key which makes things very convenient, since we can boot memtest from USB and not CD.