Windows Vista comes with new diagnostic tools—together, they're called the Windows Diagnostic Infrastructure (WDI)—that not only do a better job of finding the source of many common disk, memory, and network problems, but can detect impending failures and alert you to take corrective or mitigating action (such as backing up your files). The next few sections describe these new tools.
Understanding Disk Diagnostics
A hard disk can suddenly bite the dust thanks to a lightning strike, an accidental drop from a decent height, or an electronic component shorting out. However, most of the time hard disks die a slow death. Along the way, hard disks almost always show some signs of decay, such as the following:
- Spin-up time gradually slows
- Drive temperature increases
- The seek error rate increases
- The read error rate increases
- The write error rate increases
- The number of reallocated sectors increases
- The number of bad sectors increases
- The cyclic redundancy check (CRC) produces an increasing number of errors
Other factors that might indicate a potential failure are the number of times that the hard drive has been powered up, the number of hours in use, and the number of times the drive has started and stopped spinning.
Since about 1996, almost all hard-disk manufacturers have built into their drives a system called Self-Monitoring, Analysis, and Reporting Technology, or SMART. This system monitors the parameters just listed (and usually quite a few more highly technical hard disk attributes) and uses a sophisticated algorithm to combine these attributes into a value that represents the overall health of the disk. When that value goes beyond some predetermined threshold, SMART issues an alert that hard-disk failure might be imminent.
Although SMART has been around for a while and is now standard, taking advantage of SMART diagnostics has, until now, required third-party programs. However, Windows Vista comes with a new Diagnostic Policy Service (DPS) that includes a Disk Diagnostics component that can monitor SMART. If the SMART system reports an error, Vista displays a message that your hard disk is at risk. It also guides you through a backup session to ensure that you don't lose any data before you can have the disk replaced.
Understanding Resource Exhaustion Detection
Your system can become unstable if it runs low on virtual memory, and there's a pretty good chance it will hang if it runs out of virtual memory. Older versions of Windows displayed one warning when they detected low virtual memory and another warning when the system ran out of virtual memory. However, in both cases, users were simply told to shut down some or all of their running programs. That often solved the problem, but shutting everything down is usually overkill because it's often the case that just one running program or process is causing the virtual memory shortage.
Vista takes this more subtle point of view into account with its new Windows Resource Exhaustion Detection and Resolution tool (RADAR), which is part of the Diagnostic Policy Service. This tool also monitors virtual memory and issues a warning when resources run low. However, RADAR also identifies which programs or processes are using the most virtual memory, and it includes a list of these resource hogs as part of the warning. This enables you to shut down just one or more of these offending processes to get your system in a more stable state.
Microsoft is also providing developers with programmatic access to the RADAR tool, thus enabling vendors to build resource exhaustion detection into their applications. When such a program detects that it is using excessive resources, or if it detects that the system as a whole is low on virtual memory, the program can free resources to improve overall system stability.
Running the Memory Diagnostics Tool
Few computer problems are as maddening as those related to physical memory defects because they tend to be intermittent and they tend to cause problems in secondary systems, forcing you to waste time on wild goose chases all over your system.
Therefore, it is welcome news indeed that Vista ships with a new Windows Memory Diagnostics tool that works with Microsoft Online Crash Analysis to determine whether defective physical memory is the cause of program crashes. If so, Windows Memory Diagnostics lets you know about the problem and schedules a memory test for the next time you start your computer. If it detects actual problems, the system also marks the affected memory area as unusable to avoid future crashes.
Windows Vista also comes with a Memory Leak Diagnosis tool that's part of the Diagnostic Policy Service. If a program is leaking memory (using up increasing amounts of memory over time), this tool will diagnose the problem and take steps to fix it.
To run the Memory Diagnostics Tool yourself, follow these steps:
- Select Start, Control Panel, System and Maintenance, Administrative Tools to open the Administrative Tools window.
- Double-click Memory Diagnostics Tool and enter your UAC credentials to display the Windows Memory Diagnostics Tool window.
- Click one of the following options:
- Restart Now and Check for Problems— Click this option to force an immediate restart and schedule a memory test during startup. Be sure to save your work before clicking this option.
- Check for Problems the Next Time I Start My Computer— Click this option to schedule a memory test to run the next time you boot.
Checking for Solutions to Problems
Microsoft constantly collects information about Vista from users. When a problem occurs, Vista usually asks whether you want to send information about the problem to Microsoft and, if you do, it stores these tidbits in a massive database. Engineers then tackle the "issues" (as they euphemistically call them) and hopefully come up with solutions.
One of Vista's most promising new features is Problem Reports and Solutions, and it's designed to make solutions available to anyone who goes looking for them. Vista keeps a list of problems your computer is having, so you can tell it to go online and see if a solution is available. If there's a solution waiting, Vista will download it, install it, and fix your system.
Here are the steps to follow to check for solutions to problems:
- Select Start, Control Panel, System and Maintenance, Problem Reports and Solutions.
- In the Problem Reports and Solutions window, click the Check for New Solutions link. Windows Vista begins checking for solutions.
- If you see a dialog box asking whether you want to send more information about your problems, click Send Information.
- If a solution exists for your computer, you'll see it listed in the Solutions to Install section of the Problem Reports and Solutions window. Click the solution to install it.
By default, when a problem occurs, Vista does two things:
- It automatically checks for a solution to the problem.
- It asks whether you want to send more information about the problem to Microsoft.
You can control this behavior by configuring a few settings:
- In the Problem Reports and Solutions window, click Change Settings.
- In the Choose How to Check for Solutions to Computer Problems window, click Advanced Settings to display the Advanced Settings for Problem Reporting window shown in Figure 16.4.
Figure 16.4 Use the Advanced Settings for Problem Reporting window to configure the Problem Reports and Solutions feature.
- If you don't want to report problems at all on your user account, activate the Off option. Alternatively, you can configure problem reporting for all users of your computer. Click Change Setting beside the For All Users and Programs, Problem Reporting Is Set To, and then click one of the following options (when you're done, click OK and enter your UAC credentials):
- On— Activate this option to force all users to report problems
- Off— Activate this option to force all user not to report problems
- Allow Each User to Choose Settings— Activate this option (it's the default) to enable each user to turn problem reporting on or off
- To configure problem reporting, click Change Setting beside For All Users, Windows Is Set To, and then click one of the following options (when you're done, click OK and enter your UAC credentials):
- Allow Each User to Choose Reporting Settings— Activate this options to enable the Automatically Send More Information If It Is Need to Help Solve Problems check box.
- Ask Each Time a Problem Occurs— Activate this option to have Vista prompt each user to check box solutions and to send additional information about the problem.
- Automatically Check for Solutions— Activate this option (it's the default) to have Vista automatically check online for an existing solution to a problem.
- Automatically Check for Solutions and Send Additional Information, If Needed— Activate this option to have Vista automatically check online for an existing solution to a problem and to automatically send extra information about the problem.
- If you want Vista to always send the extra troubleshooting information, activate the Automatically Send More Information If It Is Needed To Help Solve Problems check box.
- If you don't want Vista to send information about a specific program, click Add, locate and select the program's executable file, and then click Open.
- Click OK.