By Fred Langa
It was a typical winter day in Seattle — gray, rainy, and raw — when I visited Windows Secrets reader Gary Nobel.
Gary’s system would occasionally slow “to a crawl.” I was there to find out why.
This was the first in a new series of House Calls, an occasional project where I visit a reader’s home or business and attempt to diagnose and cure real-life PC problems. The idea behind House Calls is simple: selected Windows Secrets readers and I collaborate to learn new techniques for analyzing, maintaining, and improving personal computers — which we then share with all Windows Secrets readers.
It works like this. Some months ago, I issued a call for volunteers for a personal, onsite, PC troubleshooting session. From time to time, I select one of the more interesting problems plaguing a reader — a problem that might apply to a wider audience. And rather than diagnose the problem remotely, I pay the reader a personal visit to his or her home or place of business — at my own expense. I do whatever I can in one day to solve the problem (or problems) and make the hardware and software run as well as it can.
Each House Call article, like this one, will explain what we found and how we fixed it. I hope that will give you the information you need to perform similar diagnoses and repairs on your system — or on systems you maintain for others.
The problem: Slowdowns with no clear pattern
When I asked for House Call participants, Gary Nobel sent this:
- “I have a desktop computer with a 2.5GHz Pentium Dual Core CPU and 2GB of system memory. I’m running Windows 7 Home Premium.
“The computer occasionally slows down to a crawl. I think Outlook 2007 or IE — or both — might be involved. Rebooting solves the problem, but I have to reboot every few days. Sometimes I get the rotating ring with IE. Clicking the red X doesn’t close the window, and I resort to a forced close using Task Manager.
“I run Microsoft Security Essentials and occasionally things like Malwarebytes and Ad-Aware. But they rarely find anything except cookies.”
Gary’s note caught my eye because it’s a nearly universal problem — almost everyone experiences unexplained PC slowdowns from time to time.
When a slowdown follows a clear pattern, it’s usually not too difficult to figure out cause and effect. But slowdowns that occur only occasionally — or have no clear pattern — are much tougher to track down. Finding the culprit in Gary’s PC would be interesting!
Figure 1. Seattle’s Gary Noble — and his problem PC
Also of interest, Gary’s system had 2GB of RAM. That’s well above the 1GB minimum Microsoft recommends for Windows 7 (see MS’s Win7 system requirements page) but smaller than the 4GB systems I typically use. Working on Gary’s system would verify that my recommended diagnosis and repair techniques are still valid for lower-RAM systems. (And I’d modify them if they weren’t.)
The first step is always a thorough tune-up
Junk files aren’t harmless. They occupy space and require servicing by the operating system — which tracks and indexes them, defrags them and backs them up, and more. Removing junk files reduces the operating system’s overall file-management burden and can improve performance.
To get the junk files off his system, Gary and I used the techniques described in the Nov. 10, 2011, Top Story, “Putting Registry-/system-cleanup apps to the test.” In particular, we used the enhanced mode of Windows Disk Cleanup plus the free version of CCleaner [site].
We then reduced the size of the system’s default recycle bin, Internet Explorer’s temp-files storage, and the System Restore area — three notorious space hogs whose voluminous contents can cause a system to bog down. (Need more info? See this Oct. 6, 2005, item.)
When we were done, Windows had about 1.4GB fewer files to keep track of — a nontrivial amount, for sure!
Small systems might need big pagefiles
Next, I poked through various system settings to see whether anything was amiss. Gary’s pagefile size caught my eye.
A pagefile (or swapfile) is a temporary scratchpad area on the hard drive that stores code and data when Windows is juggling more stuff than will fit into system memory. It lets Windows operate as if the system had more RAM than is actually installed.
But hard drives are usually orders of magnitude slower than system RAM, so any significant use of a pagefile always produces a performance hit.
Windows tries to compensate by keeping the most-used, most-essential code and data in system RAM and inactive and lower-priority code and data in the pagefile’s virtual RAM on the hard drive.
The proper sizing of pagefiles used to be somewhat of a manual, black-art task. But there’s no mystery to it anymore: as detailed on an MS TechNet page, Microsoft recommends that a pagefile be no less than 1.5GB on systems with 1GB or less of RAM and no less than the amount of RAM, plus 300MB, on larger systems. Note that these are minimums.
The default maximum is three times the amount of system RAM, but you can go larger — much larger. Windows 7 can support pagefiles as large as 16TB (assuming a hard drive had the free space). Clearly, Microsoft isn’t looking for minimalistic pagefiles. Windows needs room.
By default, Win7 sets its pagefile size at or near the RAM-times-three maximum, then automatically manages pagefile size dynamically — growing or shrinking the pagefile as needed.
In most cases, it works well. Since the advent of Windows 7, I’ve recommended leaving the pagefile defaults alone and letting the system manage it.
However, Gary’s pagefile settings were set by the OEM to a fixed, 3GB pagefile (150 percent of the amount of RAM in Gary’s 2GB system). That’s within spec — but at the low end. Aha!
That meant Gary’s PC had dual space constraints: its modest 2GB of system RAM and its smallish pagefile. Normally, Windows can use the pagefile as abundant virtual RAM. But when Gary used his system heavily, the virtual-memory system became saturated with read/write requests, bogging down the entire system with Windows’ data-swapping. In effect, the pagefile was a bottleneck, causing his PC to run at inefficient hard-drive speeds instead of high-speed RAM rates.
Gary’s system had plenty of empty space on the hard drive, so there was no reason to constrain the pagefile that way. We reset the system to let Windows automatically manage pagefile size. As the cited TechNet page states, it’s easy to do — via the Windows Control Panel or this handy, undocumented shortcut:
- Step 1. Click Start and type systempropertiesadvanced (with no spaces) into the Search programs and files box. Then press Enter.
- Step 2. Under the Advanced tab, click the Settings button in the Performance section.
- Step 3. In the Performance Options dialog box, click the Advanced tab.
- Step 4. In the Virtual Memory section, click Change. Then, tick the box to Automatically manage paging file size for all drives (highlighted in yellow in Figure 2).
Figure 2. If you let it, Win7 will do a good job of automatically managing its pagefile.
Gary’s virtual memory system now had some additional elbow room. We hoped that would be enough to improve memory-use performance and prevent slowdowns.
A few more tweaks, cleanups, and tunings
Next, we stepped through Gary’s software and — via Window’s Uninstall or change a program applet — uninstalled several pieces of old software that he no longer used.
One gave us some trouble — some obsolete BlackBerry software that offered no obvious way to uninstall it. We eventually exorcised it from his system by a brute-force, manual deletion of the files, followed by use of a Registry cleaner to repair the damage.
We ran Windows Update, then installed and ran Secunia’s free Personal Software Inspector (PSI) (site) to make sure all his software was current.
At that point, the day was drawing to a close. We set Gary’s system to defrag itself (MS defrag Help), and I left feeling confident that cleaning and tuning his system — especially loosening the constraints on the pagefile — would at least ameliorate the occasional slowdowns his system experienced.
Follow-up: One more thing to do — an upgrade
A week or so later, Gary wrote to tell me:
- “Things seem pretty normal, except it’s taking longer than expected to start new programs. But there are none of the long waits for webpages in IE that sometimes used to happen.”
Gary and I discussed the new-programs, slow-start issue. I suspected it was related to limited system RAM. Each time he loaded an additional program, data and code would have to be swapped out of RAM to make room. Increasing the size of Gary’s pagefile meant his virtual-memory system was working as well as possible; the only way to reduce overall dependence on virtual memory is to increase the physical system RAM.
I recommended that he flesh out his system to 4GB, which is the maximum amount of RAM that 32-bit systems can access.
He wrote back:
- “I took your recommendation and did buy some memory. I am running quite well now, and I’m using your CCleaner and Windows Disk Cleanup routines regularly. Thanks again for your help!”
Some of the important takeaway lessons
There are three key points that came from this House Call:
- Cleanups work. Regular use of cleanup techniques, as discussed, will help keep your system junk-free and running lean.
- The Win7 defaults are mostly good. In fact, in the case of pagefile sizes, letting Windows manage things almost always yields better results than manual tweaks.
- RAM still matters. If you have a 1–2GB Win7 system, consider investing in another gig or two of RAM. At the time of this writing, a 2GB stick of RAM is in the neighborhood of U.S. $10-30. It’s money well spent!
Thanks, Gary, for letting us all learn from your system.
Stay tuned for the next House Call installment!
| Feedback welcome: Have a question or comment about this story? Post your thoughts, praise, or constructive criticisms in the WS Columns forum.