Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

.NET

11 New Tips for Boosting Windows XP Performance


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:

  1. Click Start, then click Run.
  2. Type Regedit, then click OK.
  3. 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:

  1. Click Start > Control Panel > System Information.
  2. On System Properties, click the Advanced tab.
  3. In the Performance section, click Settings.
  4. Consider disabling the following:

  5. Fade or slide menus into view
  6. Fade or slide ToolTips into view
  7. Fade out menu items after clicking
  8. Show shadows under menus
  9. Slide open combo boxes
  10. Slide taskbar buttons
  11. Use a background image for each folder type
  12. 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:

  1. Go to Start.
  2. Click Settings.
  3. Click Control Panel.
  4. Double-click Add/Remove Programs.
  5. Click the Add/Remove Window Components.
  6. Uncheck the Indexing services.
  7. 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.


SIDEBAR: Third-Party Tools for XP

In addition to the Microsoft tools mentioned in this Recipe, there are lots of freeware tools that can help you tune up WinXP systems. Here are a few of my favorites:

  • Autoruns: This amazing utility features the most comprehensive knowledge of auto-starting locations of any startup monitor. It shows which programs are configured to run during system boot or login, and it also shows the entries in the order Windows processes them. It can be a handy tool for discovering processes that are configured to start themselves up, and which make the user wait while they do.

  • Ccleaner: This optimization and privacy tool removes unused files from a system, letting Windows run faster while freeing up valuable hard-disk space. It takes only about a second to run. Ccleaner also does regular maintenance, such as cleaning Internet history and unused entries from the registry.

  • CleanCache: This simple software is a "set it and forget it" utility that cleans up after browsers and Office applications. It can be set to work at timed intervals, and it can support multiple users.

  • PageDefrag: This program uses advanced techniques to provide what commercial defragmenters cannot, such as the ability for you to see how fragmented your paging files and Registry hives are, and to defragment them. In addition, PageDefrag defrags event log files and Windows 2000/XP hibernation files (where system memory is saved when you hibernate a laptop).

  • BootVis: Bootvis.exeis a performance-tracing and visualization tool. It was designed by Microsoft to help PC system designers and software developers identify performance issues for boot/resume timing while developing new PC products or supporting software.


ANDY MCDONOUGH is a professional musician, composer, voice actor, engineer, and educator happily freelancing in New Jersey. His WinXP boxes are running faster than ever.

Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.