Windows XP Service Pack 3 (SP3) is not scheduled until the second half of 2007, and Microsoft’s first shot at its successor, Windows Vista, may not be due out before “early 2007.” Meantime, many system builders (and their clients) will be keeping today’s WinXP SP2 systems running for some time.
That makes now the perfect time for revisiting your deployed XP boxes and making sure your clients are getting the best possible performance from their systems. Your clients will be happy with a faster-running OS; some may even be amazed. This is also a golden opportunity for system builders to check in with clients and pick up a little extra income from performing just such tune-ups.
In this Recipe, I’ll show you ways to restore the zip of WinXP-based PCs both old and new. I’ll also show you the places to look for WinXP problems that can develop over time, and how to fix them. I’ll also look at performance saving set-up issues, and how to battle the demons like fragmented disks and unused network devices that can steal precious CPU cycles and memory from your systems.
First, deciding whether a WinXP system needs a mere tune up or a full blown repair is a judgment call you’ll have to make. Listen and learn before rushing to judgment. For instance, if a client complains that their system’s performance has taken a sudden hit, or that stability has suddenly become an issue, you’re probably looking at a hacked machine, virus attack, or failing hardware. In all three cases, a repair job is in order. But if a client complains about an older model PC that simply won’t run as fast as it used to, that probably means the time has come for a tune up. That’s where this Recipe comes in.
Also, before starting a tune up, spend some time observing the system’s operation. Note how long it takes to restart. How quickly does it access commonly used applications, such as email clients or browsers? You may want to time the start-up of for the system’s word processing program, or measure how long the machine needs to save a typical file. Then, after you complete the tune-up, make the same measurements, and compare your before and after results.
Your goal, of course, is to improve overall system performance. But these measurements will give you a feel for the immediate benefits of system cleaning and tuning. One thing you’ll probably note is that some systems respond better to certain tweaks than do others. This is a normal result of different usage patterns.
First, Back Up
You’ve probably heard this a million times already, but before you tune up any PC, first back up the system’s data. Losing data, especially a client’s data, is not only embarrassing, but also potentially costly. Avoid this amateur’s mistake. Back up the computer before you run any system tools or do any troubleshooting. Period.
I’m not being overcautious. Some of the following steps can cause preexisting, hidden problems to surface. These problems, in turn, can prevent the computer from restarting. This isn’t very likely, but it is possible. So don’t take chances, and do make backups.
If you’re not using backup software, Windows XP Professional even includes a utility called Backup that can be deployed quite easily. To open the Backup wizard, click Start > All Programs > Accessories > System Tools. Then select Backup. Told you it was easy!
For information on how to use Microsoft’s Backup, see the company’s Windows XP Backup Made Easy. You can also show this article to more advanced clients who have critical backup needs, such as daily accounting and customer records.
Once you have completed the backup and the system’s data is secure, you’re ready to move on to my performance-improving tips.
Tip 1: Remove Unused Programs
To begin tuning up a computer’s performance, remove unnecessary programs. New programs are installed all the time, but typically, only a few are actually used. Maybe your client has installed a trial version or two of a popular game to check them out, and then forgot about them. Users are quick to say “Yes” to an install, but rarely take the time to remove the software after the trial period. All those unused installations can be sitting on the hard disk, consuming resources and hurting performance.
Let’s get rid of them! Follow these four steps to remove unused programs:
- Click Start, then click Control Panel.
- Click on Add or Remove Programs.
- Scroll through the list, and examine each program. WinXP lists how often a program is used and what day it was last launched. You might want to review this list with your client. Ask, “Do you ever use this? Will you ever use this?” If the answers are No, remove the program.
- But do not remove anything labeled Update or Hotfix. These are official Windows updates and fixes. Leave them alone.
- For each program you no longer want, click on the program’s name, then click the Remove button and follow the prompts to uninstall them. It’s that easy.
You may have to restart the computer each time after removing a program. If so, after the computer restarts, repeat the steps above to remove the rest of the unused programs you and your client have chosen. If the computer has been in service for a while, repeating this process may take some time. No matter; it’s well worth the effort. Every unused program, even trial versions, take up much-needed space on the disk, as well as in the OS proper. Bottom line: If your client doesn’t need it, their PC will be faster without it.
Tip 2: Free Up Wasted Space
Let’s continue finding and freeing up otherwise wasted disk space. For this step, we’ll deploy Microsoft’s Disk Cleanup tool. Just follow these four steps:
- Open My Computer, then right-click Local Disk, and then click Properties.
- On the General tab, click the Disk Cleanup button. Disk Cleanup will spend a few minutes examining your disk.
- The Disk Cleanup dialog box shows you space on your disk that you can free up.
- Select the desired checkboxes in the Files to Delete list, and then click OK. Disk Cleanup will spend several minutes clearing space.
Consider automating this disk cleanup process for your clients. For more information on this, check out the Microsoft Knowledge Basic article, How to Automate the Disk Cleanup Tool in Windows XP.
Tip 3: Defragment
WinXP comes with a great tool to defragment the data stored on disk called, appropriately enough, the Disk Defragmenter. Commonly referred to as simply “defrag,” this utility cures a condition that occurs when disks become congested and parts of files get written farther and father apart. When a file is fragmented, it takes longer for the computer to read it; the disk head has to skip around to find the data on different sections of the hard disk, and the computer’s logic has to keep track of the various pieces and reassemble them correctly.
Defrag will first do a quick analysis of a disk and determine if there’s enough fragmentation to warrant use of the utility. If it does finds significant fragmentation, defrag will move data around on the disk to make accessing it more efficient. Running this utility should ensure your client’s programs will load faster by retrieving data quicker.
It’s easy to defragment a disk. Just follow these four steps:
- Open My Computer, right-click Local Disk, and then click Properties.
- On the Tools tab, click Defragment Now. The Disk Defragmenter opens.
- Click the appropriate hard disk, and then click Defragment. Disk Defragmenter will start to work. Defragging will take from several minutes to several hours, depending on how much data there is and how badly the data is spread out. As the amount of data stored approaches the disk’s capacity, defragging takes longer, as there is less space in which to work.
- If the system has more than one hard disk, repeat this process for each hard disk in the system. Defragmenting the disk with WinXP on it will result in the greatest improvement in overall performance.
If files on your computer are not badly fragmented, you won’t see a large improvement in performance. But for most XP machines that have been running for a long time, startups and general performance can improve remarkably by doing a defrag.
Tip 4: Disconnect Unused Network Connections
While sharing network drives is a quick way to add capacity to PC, unused connections can cause serious performance problems on startup when remote computers or network drives don’t respond immediately.
At startup, or whenever a network drive is accessed, WinXP will wait patiently for the drive to come online, even if the drive is disconnected. This can slow a PC, even if the file the user is opening is directly on the local computer. If a system has unused network connections, you can shave time off the startup wait-time and generally improve performance by removing these connections.
To get rid of unused network connections, disconnect any unused drives by following these three steps:
- Open My Computer.
- On the Tools menu, click Disconnect Network Drive.
- Select the network drives that you no longer need. Then click OK.
Without these unused network connections, startup and file access should be faster.
Tip 5: Remove Unnecessary Autostart Programs
Software providers that want their programs to appear to load quickly when needed configure autostart programs to run in the background. Some of these programs show an icon on your taskbar to let you know that they’re running, but others are completely hidden. All are stealing trace amounts of memory and processing time as the computer runs.
WinXP comes with the System Configuration tool (Msconfig.exe), an excellent way to manage the startup process, as well as to identify any unnecessary programs that start automatically. To start it and make the changes, follow these four steps:
- Click Start, click Run, type Msconfig, and then press Enter.
- On the Startup tab, you’ll see a list of all the programs and processes that are set to run when WinXP loads.
- Clear the checkbox next to any item the user doesn’t need.
- Click Apply, and then restart the computer for the changes to take effect.
If you need help figuring out which startups do what, look up the entries at Paul Collins’ Startup Applications List. It’s a very handy resource.
Tip 6: Rejuvenate Prefetch
WinXP loads applications much faster than its predecessors. To accomplish this, XP uses what’s known as the Prefetch technique, in which the OS gathers information about each program launched, then stores that information in the \Windows\Prefetch folder. On subsequent restarts, WinXP uses the information stored in the Prefetch folder to essentially preload parts of those programs at boot time. The result: When the user launches an application, it appears to load really fast.
But there’s one problem: Over time, the Prefetch folder can accumulate too much information. This makes the OS so busy loading bits and pieces of lots of applications into memory, the boot process gets slowed down. Fortunately, you can clean out the Prefetch folder at any time by following these four easy steps:
- Access the Run dialog box by clicking Start, then Run.
- Type “Prefetch” (without the quote marks) in the Open text box. Then click OK.
- Press Control A to select all the files.
- Press Delete.
Over time, WinXP will rebuild the contents of the Prefetch folder. By the way, an excellent time to create a disk image for your clients is after a couple of weeks of use, after Prefetch has “learned” about applications to preload, but before it becomes bulky.
Tip 7: Remove Remnants of Old SP2 Installs
Upgrading XP with SP2 leaves a lot of unused files on the disk that the user will need only if they were to uninstall XP. Personally, I’ve never had to back-out of SP2, but if you did, chances are it would have be shortly after you installed it. So, assuming the user is happy with their SP2 installation, remove these old files by following these steps:
- A very big System Restore point will have been made by the SP2 installation. To be sure you have a good regular size restore point, create a new one by going to Start > All Programs > Accessories > System Tools > System Restore. In the System Restore dialog box, click Create a restore point. Then click Next. Type a description for your restore point, such as “After SP2″ and click Create. Then do a clean-up by going to Start > All Programs > Accessories > System Tools > Disk Cleanup. Under “More Options,” click the bottom button to remove all but the most recent restore point.
- Delete the hidden folder of files that would be restored by an uninstall: C:\Windows\$NTServicePackUninstall. After this step, if you try to use the “Remove” for Service Pack 2 in Add/Remove Programs, it will fail and offer to delete the entry.
- There may also be a large folder C:\Windows\SoftwareDistribution\Download, depending on how the installation was done. This can be deleted, too.
- Check that the installation’s temporary folder was properly removed. The directory will be in the root directory of the drive where you downloaded the setup files (probably on C:) and will have a long name of random letters. If you can find this folder, remove it.
Tip 8: Paging File Across Multiple Hard Drives
If a client runs demanding applications, such as complex graphics or video editing, try a more complex tweak associated with the system’s “paging file.” The paging file is closely related to the physical RAM installed in the computer. Its purpose is to extend the amount of physical RAM and make it available to the system.
Tweaking the paging file boosts performance by speeding access to the PC’s store of virtual memory, so bear with me. Of course, the amount of performance increase depends greatly upon the application and machine. But increases of 30 percent or more are not uncommon when the PC is memory-constrained.
A PC’s paging file (Pagefile.sys) is a hidden file on a computer’s hard disk that WinXP uses as if it were RAM. The paging file and physical memory make up the total virtual memory. By default, Windows stores the paging file on the boot partition the partition that contains the OS and its support files.
To enhance performance, it’s good practice to put the paging file (or a portion of it) on a different partition than the one WinXP is on, and to also put the paging file and WinXP on different physical hard-disk drives. That way, Windows can handle multiple I/O requests more quickly. Otherwise, when the paging file is on the boot partition, Windows must perform disk reading and writing requests on both the system folder and the paging file. But when the paging file is moved to a different partition, there is less competition between reading and writing requests.
But there is one problem with removing the paging file from the boot partition: Windows cannot create a dump file (Memory.dmp) in which to write debugging information in the event that a kernel mode Stop Error message occurs. This could lead to extended downtime if you must debug to troubleshoot.
The optimal solution is to create one paging file that is stored on the boot partition, and then create another paging file on another partition that is less frequently accessed on a different physical hard disk (assuming a different physical hard disk is available). Sounds complicated, but it’s really not. WinXP uses an internal algorithm to determine which paging file to use for virtual memory management. By design, Windows will use the paging file on the less frequently accessed partition over the paging file on the more heavily accessed boot partition.
WinXP performance can be enhanced even more by creating the second paging file so that it exists on its own partition, with no data or operating-system-specific files. So if you have two or more hard drives, especially if they reside on separate IDE channels, you can split the paging file across these two drives. WinXP, by accessing both of the drives at the same time to read/write information, will considerably improve its performance.
The following steps show an example of adding a second paging file location: From System Properties > Advanced > Performance > Settings > Virtual Memory. Then assign the paging file a size on each drive.
Here’s how I did mine. I have two hard drives, each formatted with two partitions. In other words, I have a total of four partitions being displayed. On my secondary hard drive, I created the first partition and called it “my_swap.” Since I have 512 MB of RAM, I created the partition with 1.5 GB. On this partition, I assigned the swap file of 764 MB to 1500 MB. On the primary partition, which contains my OS, I also have a swap file of the same 764 MB to 1500 MB.
WinXP sizes the paging file to about 1.5 times the amount of actual physical memory by default. While this is good for systems with smaller amounts of memory (under 512 MB), it’s unlikely that a typical XP desktop system will ever need 1.5 X 512 MB or more of virtual memory unless special programs require it. If you have less than 512 MB of memory, leave the paging file at its default size. If you have 512 MB or more, change the ratio to 1:1 paging file size to physical memory size.
For those who’d like a more exact method for figuring the optimal paging file size, see this article at Microsoft’s support site: How to determine the appropriate page file size for 64-bit versions of Windows Server 2003 or WinXP. For more information on optimizing XP’s paging file, see Microsoft’s support site: How to configure paging files for optimization and recovery in WinXP.
Tip 9: Speed-up the Start Menu with Registry Editor
The default speed of the Start Menu is pretty slow, but you can fix that by editing a Registry Key. The Microsoft Registry Editor (regedit.exe) enables you to view, search for, and change settings in your system registry, which contains information about how your computer runs. Although you can use Registry Editor to inspect and modify the registry, doing so is not recommended by Microsoft, as making an incorrect change can damage the system.
Before you fire up the Registry Editor, make sure you know how to restore the registry and are familiar with all the risks. For details, read this Microsoft article: Using Regedit.exe.
If you’re comfortable with the risks, follow these three steps to speed-up the Start Menu with the Registry Editor:
- Click Start, then click Run.
- Type Regedit, then click OK.
- Locate the value for HKEY_CURRENT_USER \ Control Panel \ Desktop \ MenuShowDelay. By default, the value is set to 400. Change this to a smaller value, such as 0, to speed it up.
Tip 10: Disable Costly Display Options
WinXP provides some pretty effects when it opens menus, Tooltips and boxes, but all that carries a cost in valuable CPU cycles. It’s not a big performance drain, but unless your clients love these niceties, you can boost performance by shutting them off. Here’s how:
- Click Start > Control Panel > System Information.
- On System Properties, click the Advanced tab.
- In the Performance section, click Settings.
- Consider disabling the following:
- Fade or slide menus into view
- Fade or slide ToolTips into view
- Fade out menu items after clicking
- Show shadows under menus
- Slide open combo boxes
- Slide taskbar buttons
- Use a background image for each folder type
- Use common tasks in folders
Tip 11: Disable Indexing Services
Indexing Services is a small program that uses large amounts of RAM. Its job is to process indexes and update lists of all the files that are on the computer, so that when the user searches for something, the system will search faster by scanning the indexed lists. The problem is that Indexing typically uses lots of CPU time.
If the user doesn’t search their computer often, Indexing won’t help them at all. And if they do search frequently (depending on what they are looking for and how the machine is used), Indexing still may not make your searches faster. Consequently, many XP users, looking for better performance, have turned indexing off and never looked back.
You can easily disable Indexing. Here’s how:
- Go to Start.
- Click Settings.
- Click Control Panel.
- Double-click Add/Remove Programs.
- Click the Add/Remove Window Components.
- Uncheck the Indexing services.
- Click Next.
With the tweaks in this Recipe, your clients’ PCs should be running up to maximum speed. Once you’ve tried these performance boosts, I’m sure you’ll be amazed at how a few minutes of maintenance in the right spots can rejuvenate a PC. Your clients will enjoy better performance without dropping a bundle on a new PC.