posted by Howard Fosdick on Tue 19th Oct 2010 23:23 UTC
IconIn previous OS News articles, I described how mature computers up to ten years old can be refurbished and made useful. One article identified and evaluated different approaches to refurbishing. This article tells how to performance tune a mature Windows computer to make it serviceable again. I hope it will interest anyone who wants to tune Windows.

Why Tune?

I volunteer with a charity that accepts computer donations, refurbishes them, and gets them to people who can't afford new computers. A quarter of the donations we receive are perfectly good computers that are tossed out simply because Windows needs a tune-up.

Windows performance deteriorates over time. Just like your car, Windows needs to be tuned up to perform right. Unfortunately most people don't know this. They consider their computer to be more like their TV or microwave oven -- no maintenance needed. What a shame, when so many computers could stay in service with a simple tune up.

This article gives you a quick overview of how tune up a slowing Windows system.

Background

Before you can performance tune Windows, you have to ensure it's free of malware. Malware consumes computer resources to run programs you don't want to run. Last month's article described a step-by-step procedure by which you can easily remove malware from most computers, based on my free comprehensive guide How To Secure Windows and Your Privacy. You need to remove all malware from a computer before you can tune it.

Since Windows XP was the dominant Windows offering from 2001 to 2007, we'll focus on it. The tips also apply to Vista and Windows 7, but the examples are from XP. The information is based on my illustrated guide How to Tune Up Windows (which covers all Windows versions.)

I'll assume that the copy of Windows you want to tune resides on an "unknown computer" -- a computer about which you can make no assumptions. If you're tuning a "known" computer, your own machine, you may be able to skip some of the steps.

Back up Windows prior to changing any working system (even if it's performing poorly). Use Windows' System Restore or System Protection feature to make a backup or "restore point" for Windows before you start:  Start -> All Programs -> Accessories -> System Tools -> System Restore.
 

Approach

Google "Windows tuning" and you'll find tons of good performance tips. But there's a problem. Many web sites present random tips without prioritizing them. The focus here is on high-payback techniques that do not require deep expertise. I'll stick to what's easy and what works.

There are four goals in performance tuning. You want to:
  1. Reduce the processor load
  2. Reduce memory usage
  3. Reclaim disk space and optimize disk access
  4. Ensure optimal use of the network connection
How important each of these is depends on the system you're tuning.

What's Slowing Down Your System?

Some Windows computers are slow due to a bottleneck, a single resource that is in short supply. The bottleneck slows down the entire system. Your system could have a processing bottleneck, a memory bottleneck, inadequate free disk space or slow disk I/O, or a slow network connection. Identify the reason a system is slow -- the bottleneck -- and resolve it, and you've fixed performance.

Or your system might be short on several resources. In this case you don't have a single bottleneck you can address to fix performance. The tips I'll discuss below might provide a solution. Or maybe the computer just doesn't have the resources you need to perform the tasks you want. In this case you might need to upgrade all resources by buying a new system.

The key point is that slow systems are slow because of one or more specific causes. No system is "just slow" -- there are always specific reason(s) a system is slow.

To identify which resource(s) are lacking for the tasks you're trying to perform, view system operation when performance is poor. Windows includes several excellent tools for real-time performance monitoring and tuning. The one tool available in all Windows versions descended from Windows NT is the Task Manager. (The powerful Resource Monitor was introduced in Vista and improved for Windows 7, but it's not bundled with XP.)

The Task Manager allows you to see, in real time, programs' use of the CPU, memory, disk, and the network connection. To access it, just simultaneously press either Ctrl + Shift + Escape  or Ctrl + Alt + Delete.

The screenshot below shows the Task Manager. In XP it only has five tabs, for Applications, Processes, Performance, Networking and Users.  The Processes tab lets you view CPU and memory use in real time. Click View on the top menu bar and you can easily add I/O statistics to the default display (as shown below).  These are useful because they show you which processes perform the most disk I/O.

Task Manager Processes Panel
XP Task Manager Processes Panel

To see real-time use of any resource sorted by usage, just click or double-click on the column heading for that resource in the display. For example, to find which processes use the most CPU, just click on the CPU column heading. To find which processes are using the most memory, click on Mem Usage. Processes that remain high on the list over time as the Task Manager auto-updates its display are your "resource hogs" for that resource.

You can correlate the resource hog processes to their application programs by clicking on the Applications tab. The Applications tab only lists foreground applications, programs that you have specifically launched.

With this understanding you can which resource(s) are causing your poor performance. Then you can deduce how to rectify the situation. If only one resource is short, address the bottleneck and you've fixed the performance problem. If several resources are strained, you might be able to address the problem by following the tips below. Or you might need a more powerful system for the work you're trying to perform.

Typical Tuning Steps

In the Task Manager you have a tool to analyze performance and identify resource limitations. For typical consumer computers, what are the most common areas you'll need to tune?

You'll nearly always find unneeded programs you can prune from these areas:
  1. Start-up list
  2. Systray
  3. Services
  4. Schedulers

The Start-up List and Systray --
Pruning the Start-up list makes Windows boot faster. It keeps unnecessary programs out of memory and off the processor list. This is important because these programs remain memory-resident during your entire session whether or not you use them.

This also eliminates unneeded Systray programs that launch during start-up. Check your Systray, down in the lower righthand corner of your screen ... do you recognize every icon there? Is each for a program you need and use? If not, you want to eliminate those that are superfluous.

The reason the start-up list accumulates unneeded programs is that many applications add processes to it when they are installed (usually without asking). Many also try later on, too, through the technique of "deferred infiltration." The result is that consumer computers quickly become cluttered with little-used start-up processes. These remain memory-resident for the duration of the session even if they are never used.

With "well behaved" applications, you can remove their unneeded start-up list processes and systray icons merely by changing their configuration options. Often you just double-click or right-click on their Systray icon to access their options panel.

Many times you'll have to remove unneeded processes from outside of the application. Access Windows start-up list through the System Configuration Utility by Start -> Run -> msconfig.  Or use the a free "startup manager" program like WinPatrol, Startup Inspector, or StartUp.

I recommend WinPatrol because it allows you to review and manage all four of the above areas from within a single tool. Also, WinPatrol stops any new process from silently adding itself to your start-up list. To keep good performance you need to lock down your start-up list going forward! Nothing should get added without your active affirmation.

WinPatrol intercepts any attempt to add a new process to your start-up list. It presents a message box allowing you to indicate whether any new process should be added. If you haven't had this protection before you'll be astonished at how frequently programs from major vendors try to sneak their way into your system. It's "industry-standard practice," as they'll tell you. It's also why so consumer computers take so long to boot.

Using either the System Configuration Utility or one of the free start-up manager tools, you'll view a list of all the start-up processes. You can disable any you want to eliminate. If you don't know what a process is or what it does, just google it.

For example, say you notice a startup item named jusched and wonder if it's something you should keep active. Google on jusched and you'll quickly find out what this process does and whether you need it. Or look at this web site for the most comprehensive database of start-up processes around. Good reference web sites will warn you if any process is spyware or malware.

In the case of jusched, the web search finds that this is a legitimate program, the Java Update Scheduler. Unfortunately, this program sits in memory all the time just to check once a month if there is a Java update. You can disable this process and use the Windows built-in Task Scheduler instead, saving the overhead jusched otherwise causes. This is a great example of a legitimate program that wastes resources because its function can be accomplished more efficiently by other means. Typical consumer Windows systems are cluttered with such processes.

You may occassionally run into an ill-behaved process or malware that you can not remove through the means I've described here. These require editing the Windows Registry or using anti-malware tools. Read here for how to edit Registry start-ups. Read last month's article in this series for a step-by-step procedure on how to eliminate malware.


Services --
Just like the start-up processes, many programs add unnecessary Services (resident background programs) to Windows. And Windows by default runs many Services you don't need. The reason is that Microsoft has no way to predict which of the Services you will use. So the philosophy is: better to make it available at a small cost in overhead than have the user not have access to the Service. Now is the time to tailor what Windows offers to your own needs.

Use WinPatrol to turn off unnecessary Services or go to the Windows' Services panel:  Start -> Control Panel -> Administrative Tools -> Services. Set any Services you don't need to Manual or Disabled

You'll notice each Service has a one sentence description. Sometimes this will tell you whether you need the Service, but in most cases it won't. Windows' famous ease of use does not apply to Service descriptions. Therefore, either visit excellent Service reference web sites like The Elder Geek and Black Viper, or google Service names just like you did with the start-up processes. I can't provide a complete list here because there are hundreds of Services. Adding to the complexity is the fact that the default Services and their settings vary by Windows version -- and even by Service Pack! Your goal is to stop any Service you do not need from automatically starting every time you boot your computer.


Schedulers --
Access the Windows Task Scheduler through WinPatrol or by Start -> Control Panel -> Scheduled Tasks. Disable any scheduled programs you don't need. Reschedule the others to the times that are optimal for you and your use of the computer. It's not unusual to see all kinds of resource-intensive batch programs launch at random times on untuned consumer computers, regardless of the inconvenience this causes.

Many programs use their own built-in schedulers. Check these product-specific schedulers to see when they launch resource intensive programs. Either reschedule the program for a time more convenient to you or disable it if it is not needed. I've found it useful to consolidate and control all scheduled programs through the Windows Task Scheduler, rather than allowing scheduled jobs to be launched from many product-specific schedulers.

Nothing is worse than being in the middle of delicate work when a background program unexpectedly auto-launches and freezes the system. We're talking about mature systems in this article, so we assume your system has but a single CPU. This issue isn't nearly as onerous with state-of-the-art multicore systems that better support heavy background processing and intense multitasking.

Graphics

Mature computers have much less memory for graphics than state-of-the-art machines. This is especially true for display monitors plugged into the motherboard's built-in graphics interface rather than to an add-in AGP graphics card. Most motherboards offer the minimally acceptable amount of graphics adapter memory for their era. For an older computer, this means "not much GUI memory."

For XP you can conserve resources and often enhance performance by turning off Window's visual effects. To do this, right-click on My Computer -> Properties -> Advanced Tab -> Performance Settings button.

Then:   Adjust for Best Performance -> Apply -> OK

The same procedure allows you to revert back to full graphic effects if desired. Just select Adjust for Best Appearance in the final step.

Efficient Use of the Computer

Many performance tuning web sites don't mention the biggest factor affecting Windows performance -- you. Three of the biggest impacts on how your computer performs are:
  • How you use it
  • The applications you run
  • How much concurrency you demand
How you use the computer has a huge performance impact on mature, single-processor systems. Want to slow down your system? Open lots of windows. Open dozens of browser tabs. Launch background processes while you do interactive work. Let Windows' Automatic Updates run when it wants, rather than when it makes sense for you. Start a big background utility like an anti-virus scanner or disk cleanup program to guarantee your system bogs down.

Work on a performance-compatible mix of tasks and you'll find your old computer is much more responsive. When you the nature of your work allows it, take this to its logical extreme -- work on one task at a time.

Pick the most efficient applications for the tasks you want to perform. For example, say you have a little writing to do. You could launch the latest version of Word. But sometimes older versions are more efficient in terms of start-up time, memory usage, and the size of the output ".doc" data files they create.

Older versions of software sometimes perform better than newer versions. If the older version still contains all the features you want and performs better, consider using it instead of the newer version. My favorite example of this principle is Adobe's PDF Reader. Older versions are so much more resource-efficient on older machines that they load visibly faster, yet for my use, all versions just perform the same basic function of viewing PDF files.

To continue the writing example, you might seek an alternative to Word that is more efficient. AbiWord is one possibility, or here are more free options. More efficient still is to write the document with an HTML editor, like Kompozer. Or consider a text editor like Wordpad. Quickest of all is Notepad. It doesn't have the features of a word processor, like Word or its competitors. But if you're just writing a shopping list or taking down some quick notes, do you really need a Word processor? Select the most performant application that still meets your needs for the task you want to perform.

Many users never consider that they could perform tasks more efficiently by working more efficiently. Or by picking more efficient programs. It all adds up, especially for mature computers. This chart suggests some efficient replacements for popular resource-heavy programs:


Application: Popular Resource Hog: Alternatives:



Browser Internet Explorer K-Meleon is way faster than IE, especially on older computers. It's the Windows efficiency champ. Opera is also faster than IE. 
Word Processor Word Use AbiWord or alternatives to word processors such as HTML editors like Kompozer. Best of all use light text editors like Notepad, when possible.
Spreadsheet Excel Try Gnumeric or other free alternatives on this web page.
Email Outlook Based on this forum thread and this one there are faster free alternatives. You might also try web mail systems like Gmail if you have a fast, consistent network connection.
Web site Generator Dreamweaver, NetObjects Fusion Use HTML editors like Kompozer or text editors like Notepad when possible.
PDF Viewer Adobe Acrobat Foxit reader or older versions of Adobe Acrobat perform way better than newer Adobe releases. Find more viewers here.
Image Editor
Adobe Photoshop
I use Microsoft's simple bundled Paint program to resize, crop, rotate, perform simple image edits, and convert file formats -- all the functions many casual users require.


I've mentioned that Internet Explorer often runs slowly on mature computers. One reason is that it becomes cluttered with all kinds of add-ons. As with their start-up list, most users don't realize that their copy of IE has been jam packed with "helpful" add-in extensions.

Review IE's installed Browser Help Objects (BHO's), toolbars, and extensions using WinPatrol. The program makes it easy to disable and eliminate whatever you don't want or won't use. Going forward, WinPatrol will give you lock down control over IE add-ins in the same way it protects your start-up list.


WinPatrol
WinPatrol -- The Tabs let you manage the start-up list, Services, scheduled tasks, and more.
                       The Active Tasks panel shows what's currently running (sometimes useful for tuning).
                       Here I'm checking IE for unnecessary add-ins.

Reclaiming Disk Space

To clean up the disk(s) of an unknown computer, delete unused user accounts and reclaim their space. You'll also want to delete user data files. If previous users followed Windows convention most of these should be in their Documents or My Documents folders. Otherwise you can use Windows' Search function to easily find files of specific types. You'll want to delete old Microsoft Office files.

Especially important are space-consuming multimedia files (music, video, photographs, and images). Sort multimedia file Search results and you'll often find that deleting the dozen biggest files reclaims more space than deleting the next hundred. Be sure to check for other large file types such as archives (*.zip), downloaded self-installing product files (*.exe), and disc images (*.iso).

Review and un-install any unneeded programs by Start -> Control Panel -> Add or Remove Programs. After you un-install any application check its folders to verify that the underlying files were actually removed. Sometimes you'll see that an un-install removes a program from Windows Registry but doesn't delete all its disk files.

Next, use the option on the Add or Remove Programs panel to remove unused Windows components.

Besides deleting pre-existing Windows user accounts you'll also want to remove users' profiles from common applications. A good example is email. Deleting previous user email accounts along with their stored emails can reclaim significant space if the email is stored on the computer (rather than a remote server).

Once you've deleted and reclaimed user disk space, eliminate the many Windows files that are no longer needed. Windows' Disk Cleanup and the free program CCleaner together delete tons of old Windows files. These files include temporary files, temporary internet files, histories, cookies, flash cookies, recently typed URLs, autocomplete form history, search autocomplete, most recently used (MRU) lists, log files of all kinds, and Index.dat files.

Many people don't realize that Windows keeps a list of all the web sites they have ever visited. Depending on whether Internet Explorer auto-complete is enabled Windows stores this in either one or two places. Deleting these lists reclaims significant space on mature computers and addresses privacy concerns.

Another good Windows cleanup program is PurgeIE for Internet Explorer users, or its equivalent for Firefox users, PurgeFox.  Both are free for 15 days of full use and cost $19.95 thereafter.


CCleaner
CCleaner -- The left panel shows some of the Windows files it cleans up


After running programs like Disk Cleanup, CCleaner, and PurgeIE, most mature XP computers still waste gigabytes of disk space on obsolete Windows files. These reside in folders used for obsolete Automatic Updates, Windows hot fixes, IE version upgrades, Office and Outlook upgrades, and especially Service Pack installs and Windows version upgrades.

Cleaning up these folders falls outside the scope of our goal to focus on "... high-payback techniques that do not require deep expertise..."  Each folder has a different, complicated tale to tell. If you're really short on disk space and have the time and expertise to pursue it, google on the folder names you're interested in (usually $hf_mig$, $NtUninstall, ServicePackFiles, Installer, SoftwareDistribution, and the ie* folders).  If any reader knows of any easy-to-use tool that cleans all this up, accurately and reliably for all Windows versions, please post a comment.  

Once you are quite sure your system is in a good stable state and that you'll never need them, delete older System Restore points. Start the Windows Disk Cleanup program, the select the More Options tab and the Cleanup... button under the System Restore label. The system will ask you if you want to delete all restore points but the most recent one. Reply "yes" to delete all restore points except the most recent one.  This simple action often reclaims gigabytes of disk space.

After Reclaiming Disk Space

After you've reclaimed all possible disk space, you'll want to run to finish up properly. First, empty the Recycle Bin. Windows does not reclaim disk space for reuse until you do this.

Second, run a "secure deletion" program like Eraser to over-write all unused parts of the disk. (Other options are the last free version of BCWipe or recent versions of CCleaner.) These programs obliterate any user data you have deleted via Windows by over-writing it. Until you do this, some files might still be retrieved using tools that recover deleted files, because a Windows Delete only removes the directory pointer to the data file on disk. It does not destroy data in the file until it re-uses that space.

On an unknown computer, it is critical to securely delete data from previous users because you don't know what those files are. They could contain illegally downloaded music, video, photographs, software, or child pornography. You don't want that on the computer.

In the United States, the courts generally consider any data on a computer to be yours even if you didn't know it was there, based simply on your possession of the computer. U.S. law enforcement uses full disk search programs that will find data that has not been securely deleted.

Improving Disk Access Speed

Finish with the disks by running the Windows disk defragmentation utility. You can find it by right-clicking any disk drive in My Computer, then selecting Properties and the Tools tab. Defragmenting a disk aids performance because it packs data contiguously on the disk. Otherwise the disk is "honey-combed," intermixing data with free space, which slows data access.

Save this step until last to ensure you only have to "defrag" each disk once. (By default Windows 7 and Vista run Defrag weekly. XP does not schedule Defrag by default.)

Does Your Computer Need More Memory?

This article describes software techniques to tune up Windows. Still, there is one hardware improvement worth mentioning because it enhances the performance of most mature computers -- topping out the memory. Used memory is cheap and this is the single hardware upgrade that almost always improves performance on older systems.

To determine if your XP system would benefit from more memory, use the computer as you typically would. Then start the Task Manager and select the Performance tab:

Task Manager Performance Panel
XP Task Manager Performance Panel


On the bottom half of the panel you'll see memory usage statistics. The Commit Charge (K) column Total amount shows how much memory you're using right now, while the Peak amount shows the most memory you've used during the session. Compare both these numbers to the number for Physical Memory (K) column Total.  If the Commit Charge numbers exceed that for the Physical Memory column Total, then the computer would benefit from adding more physical memory.

To apply this to the above illustration, the system is presently using 389,548 bytes of memory. The maximum memory used during the session is 457,464 bytes. Both are under the amount of real memory on this system, which is 522,544 bytes. So in this example the computer has 512M bytes of real memory and appears not to need any more, at least based on usage in the current session.

This analysis does not apply to Windows 7 and Vista. These systems list the Paging File size on the Performance tab. You need to add more memory if the paging file approaches the maximum size listed. Systems perform best when some memory is still Available or Free. I recommend using the Resource Monitor to determine when you need more memory. This article describes a precise technique using RM to see how many page faults are occuring, which indicates whether you need more memory.

USB Memory is Useful

Another quick hardware upgrade that improves older computers -- add a USB memory stick. With capacities now into gigabytes, this is an easy way to expand available storage space at little cost. Plus thumb drives are great for backups and are easily portable. They can substitute for a slow or broken CD drive or act as an extra disk drive if you have little free disk space.

Vista and Windows 7 even have a feature called ReadyBoost that allows the OS to use USB memory as if it were internal memory. XP does not support ReadyBoost.

What Not To Do When Performance Tuning

In their performance tuning zeal some web sites advocate turning off various Windows features. This conserves the computer resources these functions would otherwise consume. But consider what you're losing when you turn off each feature.

For example, many sites recommend you disable System Restore or User Account Control. This certainly saves resources. But these are vital features for most consumers. I would not turn them off if I were tuning a computer for an end user.

Some web sites urge you to clean Windows' Registry and a small industry has sprung up selling Registry cleaners. The trouble is that Registry cleaning requires judgment not easily embodied in an algorithm. Fully automatic Registry cleaning can mean inaccurate changes -- a major issue given the criticality of the Registry to Windows. Cleaning programs have devised two key strategies to address this:
  1. Automatic Registry backup prior to cleaning (with easy restore)
  2. Asking the user which proposed changes to apply to the Registry
I wouldn't recommend Registry cleaning unless you have strong expertise and a good backup. As stated at Gizmo's Freeware, "...since the introduction of Windows XP registry cleaning is no longer a crucial issue..."  I favor the view sometimes promoted at Microsoft that Registry defragmentation may be worthwhile for advanced users but that Registry cleaning usually is not.

Why Does Windows Slow Down?

Sometimes end users will ask you why their computer slows down over time. This is a huge question with lots of complexities. You could discuss Windows' system design goals, the trade-offs between those goals, goal prioritization, programmer costs to implement versus relative user savings, ways operating systems self-manage, power struggles between Microsoft designers and marketing directors, planned obsolescence, and whether it really makes sense for future astronauts to upgrade Voyager IV's 4k memory module to modern standards when we finally fly past Pluto. By this time the person asking the question is probably really grateful they didn't major in Computer Science. Or maybe they quietly slipped away to get a coffee.

Here's the short answer most people need: protect your system from becoming bogged down with malware and other legitimate -- but unnecessary -- programs that try to insinuate themselves into your system. Then tune it up once a year. You don't have to be an expert to keep Windows humming. But you do have to be cognizant that Windows can not protect itself from unneeded programs, and that, like a car, it sometimes needs tuning.

I'm sure readers will have many additional good tuning tips, so please add yours in a comment to this article. Thank you.

Next Month

In a previous article that identified and evaluated different approaches to refurbishing mature computers, I suggested that one valuable technique is to run more than a single operating system. This couples all the advantages of the existing Windows install with the benefits of free and open source software. Next month I'll describe and compare different ways to run multiple operating systems on one computer.

- - - - - - - - - - - - - - - - - - - - - -
Howard Fosdick (President, FCI) is an independent consultant who specializes in databases and operating systems. His hobby is refurbishing computers as a form of social work and environmental contribution. Reach him at contactfci at the domain name of sbcglobal (period) net.


Previous Articles in this Series:



Smart Reuse with Open Source
How to defeat planned obsolescence through refurbishing
Scandal: Most "Recycled" Computers Are Not Recycled
What really happens to many "recycled" computers?
How to Revitalize Mature Computers Overview of how to refurbish mature computers
How to Secure Windows
How to secure Windows computers 


Resources:



How To Secure Windows and Your Privacy Free comprehensive e-book tells how to secure Windows (July 2008)
How to Tune Up Windows E-book tells how to performance tune Windows (March 2010)
e p (6)    50 Comment(s)

Technology White Papers

See More