When the need arises to check system RAM, try the Windows Memory Diagnostic tool that comes with Vista and Windows 7 — and is a free download for XP.
This app thoroughly exercises your system’s random-access memory, uncovering problems that can cause crashes, hangs, and other errors.
Every version of Windows, from XP onward, has shipped with professional-quality, system-management utilities, either built in or offered as free add-ons. These apps let you adjust and control many essential operating-system functions and features. Other tools, such as Windows Memory Diagnostic, help diagnose and troubleshoot system problems.
Part 1 of this series, “Accessing and understanding Administrative Tools,” gives an overview of all these tools and explains how to make them easily available from your Start menu.
Part 2 shows how to use Windows’ Performance Monitor to analyze and understand, in real time, a PC’s status as different programs run — or fail to run!
In Part 3, I briefly describe how RAM works, how it can fail, and how to run the Windows Memory Diagnostic diagnostic app.
Understanding the three major components of RAM
All data currently in use by your PC — the code and data of running programs, transient user data, internal system variables, and more — is temporarily stored in a PC’s RAM system. (See Wikipedia’s RAM article for more info.)
For a PC to work properly, its RAM system must reliably accept, hold, and return data — on demand, time after time. If the RAM system fails any of these critical tasks or accidentally alters the data in any way, a PC will malfunction, deliver bad results, or crash outright.
Note that I use the term RAM system and not just RAM. Although we often casually think of RAM as those strips of chips sticking up from the motherboard, a PC’s RAM system is typically made up of three separate elements:
- There are the banks, usually two to four, of RAM chips plugged into the motherboard. (In the unlikely event that you’ve never seen the inside of a PC, the banks are comprised of multiple chips mounted on long, thin circuit boards. They snap in and out, letting you easily increase the amount of RAM in a PC.) When someone asks how much memory a PC has, they’re almost always referring to these RAM banks.
- A PC’s CPU also contains a modest amount of ultra high-speed, internal RAM — the microprocessor cache. Because this memory is part of the CPU circuitry, its size is fixed. The microprocessor cache RAM holds the program code plus data that’s in immediate use by the CPU — the input, output, and intermediate results of step-by-step computer operations.
- The RAM system is managed by a controller, which writes and reads data to and from RAM and keeps the system properly synched.
What can go wrong with the RAM system?
PC electronics typically operate with high reliability. But excess heat, manufacturing defects, and even exotic external factors such as cosmic rays can introduce errors into RAM.
Cosmic rays? Yup. These high-energy particles (created in the cores of distant stars) are constantly bombarding Earth and everything on it — including you and your PC. When one or more particles strike a RAM cell, they can change a data bit’s state from 1 to 0 or 0 to 1. You’ll be surprised to learn that each gigabyte of RAM in a PC typically suffers about four such cosmically induced errors a month! (See this Wikipedia article.)
Windows and some hardware subsystems contain error-checking code or circuitry that can detect and correct many of these transient, or soft, errors.
Unfortunately, not all errors are caught and corrected; some random hangs and crashes — especially those that seem to happen for no reason and don’t follow a pattern — can be attributed to these soft RAM errors.
RAM can also suffer hard errors, where a memory cell or the controller circuitry is permanently altered or damaged. In the jargon of the industry, RAM errors fall into these categories:
- Address fault: A memory cell’s location (address) can’t be accessed — one address connects to multiple cells or one cell can be accessed by multiple addresses.
- Coupling fault: When the value of one memory cell changes, the value of another cell is unintentionally altered.
- Neighborhood pattern–sensitive fault: The operation of one cell is affected by the patterns of data stored in nearby cells.
- Stuck-at fault: A memory location always delivers a 1 or a 0 — no matter what.
- Transition fault: A memory location can’t change state (from a 1 to a 0 or vice-versa) quickly enough to be useful.
There are other failures, but those are the major ones.
What’s in the Windows Memory Diagnostic tests
Microsoft’s explanation of its Windows Memory Diagnostic (site) is refreshingly clear and concise:
- “Windows Memory Diagnostic includes a comprehensive set of memory tests that provide varying degrees of testing thoroughness. The tests are organized into three predefined test suites: basic, standard, and extended. These categories reflect, in increasing order, the time for each test to run as well as the probability of the test detecting errors.
“The standard [default] test suite includes all of the tests in the basic and standard categories. The extended test suite includes all of the tests in the standard test suite plus the tests from the extended category. The extended test suite takes the longest time to run and is the most thorough test suite.
“Each test consists of a testing algorithm, a microprocessor cache setting of either on or off, and a test pattern. Each algorithm is designed to identify a certain type of memory error. The algorithms are combined with different microprocessor cache settings and test patterns to identify different types of errors.”
As mentioned earlier, the Windows Memory Diagnostic app is built into Vista and Win7 as part of their Administrative Tools suite. (I’ll cover XP in a moment.) If you followed Part 1 of this series and enabled Administrative Tools in the Start menu, simply select Windows Memory Diagnostic from the admin tools menu (see Figure 1).
In an emergency, you also can run the tool by booting to the Windows Recovery Environment (MS info) or by booting from your Windows setup DVD and selecting the Repair my computer option.
Windows Memory Diagnostic is a low-level tool; it requires a system reboot so it can run before any other program (including Windows) is loaded.
The initial Windows Memory Diagnostic dialog box offers two choices: Restart now … (see Figure 2) and run the test immediately, or have Windows Memory Diagnostic run the next time you reboot the system. (Made sure you save your work and close any open files before choosing either option.)
After reboot, Windows Memory Diagnostic automatically starts its default tests (see Figure 3), which are fine for most purposes. To select one of the other test suites (as shown in Figures 4, 5, and 6), press F1 to bring up the Options menu.
If any errors are detected, the test will pause and display what it’s found. If that happens, make note of what the test reports, reboot, and refer to the free Windows Memory Diagnostic Users’ Guide for assistance in interpreting and correcting the errors.
If no errors are detected, Windows will reboot once again and then confirm the results in a small balloon dialog box (see Figure 7).
Note: The balloon dialog may take several minutes to appear and remains visible only for a brief time if no errors were detected. If the dialog escapes your notice, don’t worry — it’s a case of “no news is good news.”
Running Windows Memory Diagnostic on XP systems
To use XP’s version of the Windows Memory Diagnostic, start by downloading it from its Microsoft page, which also provides detailed instructions.
The XP version operates much like the Vista/Win7 version, except that you must manually reboot your system and run the test from a floppy drive, bootable flash drive, or bootable DVD/CD. Complete instructions are given in the Quick Start information on the page cited above.
Although the XP test looks different (see Figure 8), it operates in much the same way as the Vista/Win7 tests.
If the diagnostic tool finds errors, the test will pause and display them. You can then note the errors and visit the above-referenced pages for help in interpreting and correcting them.
Let the test run for a while. If no errors are reported, manually terminate the tests by pressing the X key, and then reboot the system.
When to run the Windows Memory Diagnostic
Bad or unreliable RAM is a common source of patternless system instability. So run Windows Memory Diagnostic when a PC is suffering erratic hangs, crashes, or other errors that don’t follow a clear pattern — or that seem to have no clear or obvious cause.
Absent that kind of trouble, I generally run Windows Memory Diagnostic only once or twice a year on my systems — usually as part of periodic, major maintenance (including physical cleaning and such).
Those routine RAM tests might prevent being blindsided by RAM trouble. With them, I can find and replace bad RAM before it affects my PC’s operation!Exploring Windows’ Administrative Tools: Part 3