By Ed Bott, Carl Siechert, and Craig Stinson(Adapted from Windows Vista Inside Out © 2007 Microsoft Corporation. To learn more about this book, visit the Microsoft Learning website.)
EVERY WINDOWS USER HAS EXPERIENCED sudden, mysterious slowdowns in system performance. Routine actions that normally take a few microseconds suddenly cause your computer to stop responding. Your hard disk chatters incessantly. You’re forced to wait when switching between programs. Surprisingly, you don’t need an engineering degree, an oscilloscope, or expensive third-party software to determine the cause of and solution to problems such as these.
Windows Vista includes a number of tools that you can use to pinpoint performance bottlenecks. Some of these, such as the System Health Report, the Windows Experience Index, and the Reliability Monitor, provide static snapshots showing the resources available to your system and where those resources might not be adequate to your needs. Others, such as the venerable Windows Task Manager, the new Resource Overview, and Performance Monitor (an improved version of the tool known in Windows XP as System Monitor), let you track a variety of performance metrics in real time.
In addition to these snapshot and monitoring utilities, Windows Vista incorporates the following forms of performance-enhancing technology:
All three of these are designed to reduce the amount of time your system spends engaged in performance-degrading disk IO. SuperFetch is a memory-management technology that observes your computer usage patterns over extended stretches of time (noting the programs you run and the days and times you typically run them) and adjusts caching behavior to accommodate your own particularities. ReadyBoost uses external memory devices (such as USB 2.0 flash disks) to cache disk content of all kinds, reducing the need for time-consuming hard disk access. And ReadyDrive is technology that supports the use of hybrid hard disk drives—drives that incorporate nonvolatile flash memory (NVRAM) as well as conventional rotating disk media. Hybrid drives are particularly useful for extending battery life on portable computers, because they reduce the need for drive spin.
SuperFetch is useful to anyone running Windows Vista. You don’t need to do anything except be glad that it’s there. ReadyDrive should be of interest if you’re in the market for a new computer and hybrid drives are a purchase option. ReadyBoost, in contrast, is of no value unless you implement it—by attaching a suitable external memory device to your system. For details, see “Using ReadyBoost” later in this article.
This article will review these basic performance-enhancing strategies:
Ensuring that you have adequate RAM
Ensuring that you have an adequate virtual-memory configuration
Managing startup programs
Keeping your disks defragmented
Maintaining adequate free space on your disks
Avoiding tweaks of dubious value
Random access memory (RAM) is the vital stuff that keeps Windows running smoothly. Having enough physical (main) memory helps reduce the operating system’s dependence on virtual memory, thereby minimizing the number of number of times Windows has to swap information between fast memory chips and your (relatively slow) hard disk. How much memory do you need?
The “Windows Vista Capable” and “Windows Vista Premium Ready” stickers that appear on some new hardware are based on standards expressed at the Windows Vista Enterprise Hardware Planning Guidance site. According to these standards, a system needs 512 MB to be “Windows Vista Capable” and at least 1 GB to be “Windows Vista Premium Ready.” You should consider “Windows Vista Capable” to mean adequate (if barely) for Windows Vista Home Basic. For the more feature-rich editions of Windows Vista—Home Premium, Business, and Ultimate—treat the “Windows Vista Premium Ready” standards as a minimum. In any case, doubling these minimums will provide a better ride for most users.
On the other hand, if the blue line on the Memory graph typically dwells in tropical or temperate regions (say, at 45 percent or less), you’re not likely to see sharp performance gains from an increase in physical memory.
Physical memory might be the vital lubricant of a happily humming Windows machine, but Windows is not designed to run on RAM chips alone, no matter how many of them you have. In addition to using physical RAM to store programs and data, Windows creates a hidden file on your primary hard disk and uses that file to swap pages of data out of physical memory when necessary. The “swap file” (these days more commonly called a page file) acts as an extension of main memory—or, in other words, as virtual memory.
In a default installation, Windows creates the page file in the root folder on the same drive that holds the Windows system files. The size of the page file is determined by the amount of RAM in your system. By default, the minimum size is 1.5 times the amount of physical RAM, and the maximum size is three times the amount of RAM (twice the minimum). You can see the page file in a Windows Explorer window if you configure Windows to show hidden and system files; look for Pagefile.sys in the root of your system drive.
To see the current configuration of your system’s virtual memory, click the Start button, click Control Panel, click System and Maintenance, click Performance Information and Tools, click Advanced Tools (in the Tasks pane at the left side of the dialog box), and then click Adjust the appearance and performance of Windows. After answering the User Account Control prompt, you’ll arrive at the Performance Options dialog box. You’re nearly there; click the Advanced tab, and then click Change. The image below shows the Virtual Memory dialog box, with default settings for a machine with 2 GB of RAM (default, that is, except that we cleared the Automatically manage paging file size for all drives check box to make the rest of the dialog box easier to read).
By default, Windows creates a single page file in the root folder on the same volume that holds the Windows system files and manages its size for you. The Currently allocated number near the bottom of the dialog box shows you how large the file is now. If conditions on your system change (you run an unusually large assortment of memory-intensive applications, for example), Windows might expand the page file. It might then return the file to its original size (or a smaller size) if the demand subsides. All this happens without intervention or notification if you leave the Automatically manage paging file size for all drives check box selected.
If you don’t want Windows to do this for you, you have the following options:
You can move the page file to a different volume, if you have more than one.
If you have more than one volume, you can establish more than one page file.
For any page file, you can choose between System managed size and Custom size.
If you choose Custom size, you can specify an initial size and a maximum size.
You can remove a paging file from a volume by selecting the volume and choosing No paging file. (You can even get rid of all paging files this way, although doing so is not recommended, even on systems with a lot of RAM.)
Should you get involved in page-file management, and, if so, how?
If you have more than one physical disk, moving the page file to a fast drive that doesn’t contain your Windows system files is a good idea. Using multiple page files split over two or more physical disks is an even better idea, because your disk controller can process multiple requests to read or write data concurrently. Don’t make the mistake of creating two or more page files using multiple volumes on a single physical disk, however. If you have a single hard disk that contains C, D, and E volumes, for example, and you split the page file over two or more of these, you might actually make your computer run more slowly than before. In that configuration, the heads on the physical disk have to do more work, loading pages from different portions of the same disk sequentially, rather than loading data from a single contiguous region of the hard disk.
If you are short of hard disk space, you might consider setting a smaller initial page file size. You can use a handy script from Windows MVP Bill James to monitor current page file usage and session peak usage. This tool, a free download at BillsWay.com, was written for Windows XP but works fine in Windows Vista. If this script nearly always shows current and peak usage levels well below the current page file size, you might want to consider reducing the initial size to save disk space. On the other hand, if you’re not short of disk space, there’s nothing to be gained from doing this and you might occasionally overload your custom settings, thereby degrading the performance of your system.
Should you enlarge your page file? Most users won’t need to do this. But you might want to keep an eye on the green line in the Memory graph of Resource Overview, as described above in "Ensuring that you have adequate RAM." If that line is spiking off the top of the graph a great deal of the time during your normal work, you might consider increasing the maximum size of your page file. (Disregard page file spikes and disk activity in general that takes place while you’re not actually working. This is likely to be the result of search indexing, defragmentation, or other background processes and does not indicate a problem with your actual work performance.)
For more information about page file management in Windows, we recommend the article “Virtual Memory in Windows XP” on the Windows Support Center
website. Although the file magnitudes discussed in this article are pertinent to the Windows XP environment rather than to Windows Vista, the basic information about how Windows manages and uses page files is still useful and valid.
ReadyBoost technology takes advantage of the fact that flash memory offers lower seek times than hard disks. Essentially that means that your system can get to a given location on a flash disk more quickly than it can to a corresponding spot on a hard disk. Hard disks are faster for large sequential reads; flash disks are quicker for small, random reads. When a supported external memory device is available, ReadyBoost caches small chunks in flash memory and is thus able to retrieve those chunks, when needed, more quickly than it could if it relied only on the hard disk.
Because an external memory device can be removed without warning to the system, all data cached via ReadyBoost is encrypted and backed up on the hard disk (as well as being compressed). Encryption ensures that the data can’t be read on another system, and backup enables Windows to revert to the hard disk cache in the event that the ReadyBoost drive is removed.
Windows supports the following form factors for ReadyBoost:
USB 2.0 flash disks
Secure Digital (SD) cards
When you connect a device of one of these types to your system, Windows runs a quick performance test to see if the device meets minimum standards required for ReadyBoost. Those standards are:
2.5 MB / second throughout for 4 KB random reads
1.75 MB / second throughout for 512 KB random writes
In addition, the device must have at least 256 MB available for the ReadyBoost cache.
ReadyBoost does not support external card readers. If Windows Explorer shows a volume letter for a drive without media (as it does, for example, for card-reader drives or floppy drives), inserting flash media for that volume letter will not give you a ReadyBoost drive. In addition, Windows Vista does not support multiple ReadyBoost drives. (Microsoft has indicated that multiple-drive support is under consideration for future versions.)
How much boost will you get from ReadyBoost? As with so many other performance issues, it depends. If your internal memory is well above the amount you actually need, ReadyBoost won’t do much for you. If not, you should definitely see some performance improvement. To use ReadyBoost, follow these steps:
Plug a suitable external memory device into your computer. An AutoPlay window similar to the following will appear (it won’t say READYBOOST, unless you’ve already assigned that name to the volume, as we have here):
Click Speed up my system. If your system passes an initial ReadyBoost test, the Properties dialog box will appear, with the ReadyBoost tab selected:
Select Use this device, and then adjust the slider to specify the amount of space you want to use for ReadyBoost. Then click OK.
How much of the external memory device you want to assign to ReadyBoost will depend on whether you also want to use the device for ordinary storage. Microsoft estimates that you can benefit from a ReadyBoost cache equal to approximately 150 percent of your system RAM—for example, a 1.5 GB ReadyBoost cache on a 1 GB system.
A common performance problem occurs when Windows automatically loads an excessive number of programs at startup. The result, especially on systems with minimal memory, is unpleasant: Startup takes unnecessarily long, applications that you never use steal memory from programs you use frequently, and the page file gets more of a workout than it should. Some programs, such as antivirus utilities, need to start up automatically. But in most cases, you’re better served by running programs when you need them and closing them when they’re not needed.
Overcrowded startups are most common on computer systems sold in retail outlets, where Windows Vista is preinstalled, along with a heaping helping of applications. In some cases, the bundled programs are welcome, but a free software program is no bargain if it takes up memory and you never use it.
A program can be configured to run at startup in a variety of different ways. For a survey of these many ways—and how to take appropriate defensive action—see “Managing Startup Programs” in Chapter 4 of Windows Vista Inside Out.
A “fragmented” hard disk, in which large files are stored in noncontiguous sectors, makes read and write heads work overtime and puts a drag on performance. Fortunately, Windows Vista, by default, performs disk defragmentation for you as a weekly scheduled task, so you shouldn’t have to worry about fragmentation. The “defrag” utility (defrag.exe) runs as a background task, silently shifting the furniture while your system is idle. (The default schedule has defrag running at 1 A.M. If your machine is turned off at that hour, the task runs as soon as possible after you come back online. It always runs as a low-priority background task, however, so you shouldn’t find it obtrusive.)
For more information about using the defragmentation utility, see “Defragmenting Disks for Better Performance” in Chapter 20 of Windows Vista Inside Out.
A hard disk cluttered with stuff you no longer need may or may not be an impediment to performance (it certainly can be if the disk is home to a page file), but it’s a nuisance at best. If a volume is running short of space, you can tidy up a bit with the Disk Cleanup wizard. Click the Start button, click Computer, right-click the disk in question, and then choose Properties. Then, on the General tab of the Properties dialog box, click Disk Cleanup. You’ll be given the opportunity to choose between cleaning up your own files only or all files on the disk (including those created by other users). You’ll need administrative credentials to go for the latter option. For a more detailed discussion of this utility’s features and capabilities, see “Managing Disk Space” in Chapter 20 of Windows Vista Inside Out.
Among diehard tweakers, the urge to squeeze out every last bit of performance from a computer is irresistible. As a result, even a casual web search turns up dozens of tips intended to help you improve performance in Windows. Many of these tips repeat information that we cover in this chapter, including the truism that the best way to tune up Windows is to throw hardware at it. Nothing speeds up a sluggish system like a healthy dose of extra RAM.
Unfortunately, many of the Windows-tuning tips we’ve seen are of dubious value, and a few can actually hurt performance when indiscriminately applied. Some of these spurious tips are derived from techniques that worked with older Windows versions but are irrelevant now. Others are based on seemingly logical but erroneous extrapolations of how would-be experts think Windows works.
About the authors
Ed Bott is an award-winning journalist and one of the most recognized voices in the computing world. He’s been writing about Microsoft Windows and Microsoft Office for more than 15 years and is the author of nearly two dozen books.
Carl Siechert specializes in implementing and documenting operating system technologies. He has coauthored several Windows-related books including the popular Microsoft Windows XP Inside Out, Second Edition with Ed Bott and Craig Stinson.
Craig Stinson is a journalist and author. He has written or coauthored more than 20 books including Microsoft Windows XP Inside Out, Deluxe Edition, and Microsoft Office Excel 2007 Inside Out.
Have a comment for the authors? Enter your feedback using the tool below. (You'll see the comment box after you click one of the buttons.) Note that although the authors will read your feedback, personal replies are not possible due to the volume of feedback received.