XP Performance Tuning Guide

Home  |  XP Tips  |  More XP Tweaks  |  XP Services  |  Cool Tools

XP Tweaks to Performance Tune

 & Speed Up your System


~ Tweaking Precautions ~
Although all of the Tweaks and tips mentioned have been tested,
if a step is accidentally missed or a typo made, your computer could
experience problems. To make sure that your computer is protected
I highly recommend that you use the Windows system restore feature

Windows XP system restore is a great program that monitors all of the changes to your computer. If you make a change to the system registry, you can always undo the change by reverting to an earlier system restore point. If you are making a lot of changes to your computer, it is a good idea to create a restore point before every computer modification. The following two sections will show you how to use system restore to create a restore point, and how to restore your computer to an earlier checkpoint.

    Creating a System Restore restore point:
1. Click the Start button, expand All Programs >Accessories >>System Tools,
    and select System Restore.
2. When System Restore loads, select Create a Restore Point and click Next.
3. Type in a short description for the checkpoint in the box and click Create.
4. Once the restore point is created, just hit Close.

    Restoring your computer to an earlier restore point:
1. Click the Start button, expand All Programs >Accessories >>System Tools,
    and select System Restore.
2. When System Restore loads, select Restore My Computer To An Earlier Time
    and click Next.
3. Browse through the calendar and select the restore point that you want
    your computer to revert to then click Next.
4. The Confirm Restore Point Selection screen will be displayed.
    Click Next to proceed. Keep in mind that you may lose any files that were created when you revert to an earlier restore point.
       Make backup copies of important documents and files on a floppy or network drive of important documents just in case.

 After clicking Next, your computer will reboot and revert to the earlier restore point.

       Troubleshooting Tip to undo a Restoration
 If you inadvertently restored Windows XP to a previous configuration that you did not want,
     you can undo the restoration by Logging on as Administrator
 1. Click the Start button, expand All Programs >Accessories >>System Tools,
     and select System Restore.
 2. On the Welcome to System Restore page, click Undo my last restoration,
     and then click Next.  (A System Restore message may appear that lists
     configuration changes that System Restore will make)  Click OK.
 3. On the Confirm Restoration Undo page, click Next.  System Restore will restore
     the last Windows XP configuration, and then restart your computer.
 4. Log on again as Administrator. The System Restore Undo Complete page will appear.
 5. Click OK.

The Tweaks

1. Open Internet Options - under the General tab in the Temporary Intenet files section,
    select the Settings button.     

    Select "Every visit to the page" and set the amount of disk space to use:
    to no more than 100-1000MB. Now select the Connections tab and
    select LAN Settings, make sure EVERYTHING there is unchecked and select OK.

2. In Internet Options - select the Privacy tab and choose Advanced,
    check the box "Override automatic cookie handling" and
    for First-party Cookies > Accept,
    Third-party Cookies > Block and check "Always allow session cookies".

3. By default Windows  XP caches everything in the DNS cache service,
   both correct and faulty DNS lookups. To increase performance by
   eliminating the caching of faulty DNS lookups,change the following values
   from whatever their original values are to zero.
     ~ Use Hexadecimal base values.

   Open Registry ~ Start ~> Run  and type in   regedit   ~  Expand the branches to;

    NegativeCacheTime               REG_DWORD         0x00000000 (0)
    NetFailureCacheTime             REG_DWORD         0x00000000 (0)
    NegativeSOACacheTime          REG_DWORD         0x00000000 (0)

4. This tweak will help web pages load faster, it has no real effect on download
 speeds, your pc will look up websites faster, speeding up how fast the page loads.

   Open Registry ~ Start ~> Run  and type in   regedit   ~  Expand the branches to;
   On the right  >  change these entries: (ALL values are HEXIDECIMAL)

   Class                        REG_DWORD        0x00000001 (1)
   DnsPriority               REG_DWORD        0x00000001 (1)
   HostsPriority            REG_DWORD        0x00000001 (1)
   LocalPriority             REG_DWORD        0x00000001 (1)
   NetbtPriority             REG_DWORD        0x00000001 (1)

[note:] there may be some debate about these settings (if you have any problems)
           you can go to >
           and check SpeedGuide's "Host Resolution Priority Tweak" 

To Increase the size of the DNS cache

    Open Registry ~ Start ~> Run  and type in   regedit   ~  Expand the branches to;

 Add the following four DWORD values
 by going to Edit > New> DWORD Value.
 Enter the numeric values specified by double-clicking
 and selecting the Decimal option:

     CacheHashTableBucketSize         set to 1
     CacheHashTableSize                     set to 384
     MaxCacheEntryTtlLimit                 set to 64000
     MaxSOACacheEntryTtlLimit          set to 301

Remember, these are Decimal values (not Hexadecimal values)
      [Always restart Windows for changes to take effect]

5. Optimize L2 Cache Detection
    Note: Change the setting depending on the L2 Cache of your CPU.
    If you dont know the L2 cache of your CPU,
    use a freeware program like CPU-Z

     8192 KB = 00002000
     4096 KB = 00001000
     2048 KB = 00000800
     1024 KB = 00000400
       512 KB = 00000200 < mine*
       256 KB = 00000100

   Open Registry ~ Start ~> Run  and type in   regedit   ~  Expand the branches to;

    *SecondLevelDataCache     REG_DWORD     0x00000200 (512)

6. Increase IoPageLockLimit - This value, in bytes, specifies the maximum amount of memory
    that can be used for input/output operations.
    The default value is 512 KB (524,288 bytes), but increasing it should improve performance.
    This value is specified in bytes (not MB) and must be entered in Hexadecimal mode
 Recommended values, based on the amount of memory (RAM) in your system.

                  256 MB RAM             REG_DWORD       0x10485760 (10 MB)
 more than 512 MB RAM             REG_DWORD       0x41943040 (40 MB)

*When editing DWORD Values in the Registry, you can
 choose the Base to use (Hexadecimal or Decimal).
 If you use the incorrect base, the value you type will have a different meaning.
  [for values of  9 or smaller, this option won't make any difference]
                Use HEXADECIMAL here

   Open Registry ~ Start ~> Run  and type in   regedit  ~  Expand the branches to;

 IoPageLockLimit        REG_DWORD        0x10485760 (273176416)
                          or         REG_DWORD        0x41943040 (1100230720)


7. Improve Core System Performance 
 WARNING: Requires at least 512 MB RAM!

Open Registry ~ Start ~> Run  and type in   regedit  ~  Expand the branches to;

  DisablePagingExecutive       REG_DWORD       0x00000001 (1)

8. Force Windows to Unload DLLs from Memory (very useful)

   Open Registry ~> Start ~> Run  and type in   regedit  ~  Expand the branches to;

      Name                                  Type                 Data
   (Default)                     REG_SZ              1

9. Disable sticky keys  for Pop up windows, after pressing Shift key several times,
   - use if don't like Windows popping up while your doing something else - like gaming!

    Open Registry ~> Start ~> Run  and type in   regedit  ~  Expand the branches to;
 HKEY_CURRENT_USER\Control Panel\Accessibility\StickyKeys

      Flags                  REG_SZ             506

10. Max your Internet simultaneous downloads to 20 (default is 2)

   Open Registry ~ Start ~> Run  and type in   regedit   ~  Expand the branches to;
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
 MaxConnectionsPer1_0Server      REG_DWORD      0x00000014 (20)
 MaxConnectionsPerServer           REG_DWORD      0x00000014 (20)

11. Increasing the icon cache - On XP the Max Cached Icons is set too low,

   Open Registry ~ Start ~> Run  and type in   regedit   ~  Expand the branches to;
      in the right window, double click Max Cached Icons,
      edit string ~ type the value 8192

      Max Cached Icons     REG_SZ          8192

    then reboot, . . .you'll see a big speed boost opening folders now.

12. To make Windows automatically kill processes when shutting down
       instead of letting them quit slowly:

   Open Registry ~ Start ~> Run  and type in   regedit   ~  Expand the branches to;
HKEY_CURRENT_USER/Control Panel/Desktop

     Change key AutoEndTasks to value 1.

       AutoEndTasks        REG_SZ        1

13. Optimising TCP/IP for Slow Links - To optimise TCP/IP for slow links:

   Open Registry ~ Start ~> Run  and type in   regedit   ~  Expand the branches to;
    TcpMaxDataRetransmissions    REG_DWORD     0x000000013

    [Restart your computer for the changes to take effect]

14. DMA Transfer Mode
Right click on My Computer, choose Properties and click on Hardware Tab,
 open Device Manager ~ look for IDE ATA/ATAPI controllers,
   right click on Primary IDE Channel and click Properties,
     now click Advanced Settings
      and for "Transfer Mode" choose DMA if available.
Then do the same for the Secondary IDE Channel

[nVidia nForce drivers will install ATA Controllers for the Primary and Secondary Channels
  be sure to enable the right Ultra DMA transfer mode for your drives]

    when finished, close the window by hitting [X]
       then Reboot

15. Turn Off Remote Assistance
Right click on My Computer, choose Properties and click on Remote Tab,
 [Uncheck] Allow Remote Assistance . . .
  hit OK

16. Turn Off Indexing
 double-(left)click on My Computer
  right click on each drive and choose Properties > under the General tab,
  [uncheck]  Allow the Indexing Service to index this disk for fast file  searching
   > a window will pop up, make sure the box is checked that says;
   "Apply change to (drive letter):\, subfolders and files"  ~  then click OK.
      Windows will then apply the changes, click OK.
 (Once you have done all the drives I recommend you reboot.)

17. Open each folder in a separate part of memory
         (recommended for 512MB memory and higher)

Open My Computer  (or press the Windows + E keys)
 > go to Tools > Folder Options > View and [check] the box in
       "Launch folder windows in a separate process".
           Reboot again!

18.  Increasing network browsing speed

Open Registry ~ Start ~> Run  and type in   regedit   ~  Expand the branches to;

find the key named {D6277990-4C6A-11CF-8D87-00AA0060F5BF}
[tells Explorer to show remote scheduled tasks]
Right click on it and delete it.

If you have no use for viewing remote shared printers and are really only interested in shared files, consider deleting the printers key, {2227A280-3AEA-1069-A2DE-08002B30309D}, as well.

This will also boost your browsing speed.
Right click on it and delete it.

19. Set CPU Priority
This setting gives a boost to priority of foreground applications.
In very overly-simplified terms, what you see on the screen gets more attention from the CPU than what you can't. [base is Hexadecimal]

   Open Registry ~ Start ~> Run  and type in   regedit   ~  Expand the branches to;

Win32PrioritySeparation           REG_DWORD           0x00000026  (38)

20. These allow you to end tasks faster, shut down faster and speed up the menu display

  Open Registry ~ Start ~> Run  and type in   regedit   ~  Expand the branches to;
   HKEY_CURRENT_USER\Control Panel\Desktop

ForegroundLockTimeout            REG_DWORD             0x00000000  (0)
HungAppTimeout                      REG_SZ                      5000 to 20000  (5 to 20 seconds)
MenuShowDelay                        REG_SZ                        200 to 2000
WaitToKillAppTimeout               REG_SZ                      5000 to 20000  (5 to 20 seconds)


WaitToKillServiceTimeout         REG_SZ                    5000

21.  Advanced NTFS Settings:
The filesystem is the invisible mechanism on your hard disk that is responsible for keeping track of all the data stored on the drive.  Think of the filesystem as a massive table of contents, matching up each filename with its corresponding data stored somewhere on the disk surface.  Windows XP supports three different filesystem types; FAT (File Allocation Table, 16-bit), FAT32 (File Allocation Table, 32-bit) and NTFS (NT Filesystem). NTFS was designed from the ground up to completely replace FAT/FAT32.  It also supports encryption, compression, and security.

The following settings allow you to fine-tune NTFS to squeeze the most performance out of your NTFS drive; experiment with these settings to find the configuration that works best for you.

Start by opening the Registry Editor, and expanding the branches to;
     There are three values here that concern us:

  Values: 0 = enabled (default), 1 = disabled
[if you don't use 16-bit programs ~ disable]

  Values: 0 = enabled (default), 1 = disabled
[changing the value to 1, should improve drive performance]

  Values: 1 = small (default), 2 = medium, 3 = large, 4 = maximum
[The core of the NTFS filesystem is the master file table (MFT),
a comprehensive index of every file on the disk (including the MFT itself).
Since disk defragmenters can't defragment the MFT, Windows reserves a certain amount of extra space for it to grow, in an effort to reduce its eventual fragmentation.  The more fragmented MFT gets, the more it will hamper overall disk performance. Although the default is 1, values of 2 or 3 are probably better for most systems with large hard disks; the maximum value of 4 is good for very large drives with a lot of small files.]

22. Enabling Super prefetch in Windows XP SP2
One of the many claims Microsoft makes for Windows Vista is that it will launch applications 15% faster than Windows XP does currently. This is done through improvements in the Prefetch functionality. There may be no need to wait until Vista arrives; this improvement may already lay dormant in Windows XP thanks to Service Pack 2.  ~  use your own discretion;

To enable super prefetch:
Open Registry ~ Start ~> Run  and type in   regedit   ~  Expand the branches to;


Create and Insert a Dword value with the following details:
     [use exact spelling and capitals]

     EnableSuperfetch         REG_DWORD           0x00000001
     [Reboot your computer for the changes to take effect]

[side note] There are a couple of articles ( http://bink.nu/Article4556.bink & http://www.edbott.com/weblog/archives/000863.html )  that point out and reference the same (un-quotable and basically un-substantiated) remark that Mark Russinovich may have said . . .
. . .but as Rick Says: [on Ed Bott's blog ~ August 8th, 2005 at 5:31 pm]
 "I agree that not finding the string in the kernel is damning, but does that absolutely guarantee that the technology does not lay dormant  in XP in some other way? I wish Mark had gone that extra step. At the very least, MS should weigh in on this. I’m not sure how to explain away the sizeable number of people who try this and meet with success…it’s a few too many for comfort."

There is also a pretty interesting thread about it here:

~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~


               ~ Some NEW added Tweaks ~

If you have more than 256MB of RAM this tweak will considerably improve your performance. It basically makes sure that your PC uses every last drop of memory (faster than swap file) before it starts using the swap file.
Go to Start then Run
Type in  msconfig  then ok
Click on the System.ini tab
Expand the 386enh tab by clicking on the plus sign
Highlight 386enh by clicking on it, then re-check it again
Click on new, then in the blank box type in  ConservativeSwapfileUsage=1
Click OK
Restart PC
A great feature in Windows XP is the ability to do a boot defragment. This places all boot files next to each other on the disk to allow for faster booting. By default it should be on, but on some builds it is not, so below is how to check and turn it on.
Go to Start then Run
Type in  regedit  then click ok
Find  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction
Select "Enable" from the list on the right
Right click on it and select "Modify"
Change the value to "Y" to enable
Windows XP has a performance monitor utility which monitors several areas of your PC's performance. These utilities take up system resources so disabling is a good idea.
To disable:
1. download and install the Extensible Performance Counter List
2.Then select each counter in turn in the 'Extensible performance counters' window and clear the 'performance counters enabled' checkbox at the bottom button below.
When your PC starts it usually looks for any bootable media in any floppy or cd-rom drives you have installed before it gets around to loading the Operating System from the HDD. This can waste valuable time. To fix this we need to make some changes to the Bios.
1. To enter the bios you usually press 'F2' or 'delete' when your PC starts
2. Navigate to the 'Boot' menu
3. Select 'Boot Sequence'
4. Then either move your Hard drive to the top position or set it as the 'First Device'
5. Press the 'Escape' key to leave the bios. Don't forget to save your settings before exiting
[Note:] Once this change has been made, you won't be able to boot from a floppy disc or a CD-rom. If for some strange reason you need to do this in the future, just go back into your bios, repeat the steps above and put your floppy or CD-rom back as the 'First Device'
Keeping your pagefile defragmented can provide a major performance boost. One of the best ways of doing this is to creat a separate partition on your hard drive just for your page file, so that it doesn't get impacted by normal disk usage. Another way of keeping your pagefile defragmented is to run PageDefrag. This cool little app can be used to defrag your pagefile, and can also be set to defrag the pagefile everytime your PC starts. To install:
Download and Run PageDefrag
Tick "Defrag at next Reboot",
         Click Ok
BootVis can significantly improve boot times
1. Download and Run  BootVis
2. Select Trace
3. Select Next Boot and Driver Trace
4. A Trace Repetitions screen will appear, select Ok and Reboot
5. Upon reboot, BootVis will automatically start, analyze and log your system's boot process. When it's done, in the menu go to Trace and select Optimize System
6. Reboot.
7. When your machine has rebooted wait until you see the Optimizing System box appear. Be patient and wait for the process to complete

The design goals for Windows XP on a typical PC are:

- Boot to a useable state in a total of 30 seconds
- Resume from Hibernate (S4) in a total of 20 seconds
- Resume from Standby (S3) in a total of 5 seconds
Boot and resume times are measured from the time the power switch is pressed to being able to start a program from a desktop shortcut.


 WARNING Don't do all the Registry tweaks at once, try a few (two or three), then restart your computer to see how things are running ~ But, always Reboot after a tweak if mentioned to do so!!.

If you don't see a Tweak ~ KEY ~ in your registry ~ you can create one by right clicking on the main branch > NEW > DWORD Value ~ then name it the same way I spelled it and give it a base value, usaully Hexadecimal, unless I said to use a Decimal base.  [99% of the base values in the registry are Hexadcimal]

Applying Registry tweaks assumes you have some proficiency in editing the Windows Registry using Regedit (Start > Run > and type: regedit). As always, backup (export) keys to some RegBackUp folder you can create in My Documents before making any changes ~ so you can go back to any previous settings, if you don't like the results. [if you need to restore the saved exported .reg key ~ just double click on it and it will be automatically imported back into the Registry, restoring the original settings...just remember to name it something you'll remember, so you can remember what it was]

You can also add Registry Key locations in the Registry Editor to "Favorites" ~  so you can easily remember and find the keys you changed a lot faster!!

Also, Remember: When installing New Programs to close all applications running, including your browser, Anti-Virus and SpyWare programs,  there is a reason the installer reminds you to do this!!  . . .and it's also good idea to run a defrag after installing Programs ~ so all your Program files can stay together ~ this is a must for faster program loading performance.


 About the Windows XP Registry:

Windows XP organizes the registry into hives and for each hive file, XP creates additional supporting files that contain backup copies of each hive's data. These backups allow the OS to repair the hive during the installation and boot processes if something goes terribly wrong.

Hives are only in two root keys: HKLM (HKEY_LOCAL_MACHINE) and HKU (HKEY_USERS) ~ all other root keys are links to keys within those two ~ HKLM and HKU are the only root keys that Windows XP actually stores on disk.

[The hive and supporting files for all hives other than those in HKU are in %SYSTEMROOT%\System32\config. Hive files for HKU are in the user's profile folders.]

This is how it works;
XP creates the registry on boot-up in two phases; text-mode and graphics-mode. Xp copies each hive file to a SAV file at the end of the text-mode phase so that it can recover if the graphics-mode phase fails. If graphics-mode phase does fail, XP repeats that phase after restoring the hive file from the SAV file.

So, (almost) no matter how much you might think you screwed the registry, there's a backup SAV file it can use to recreate the last working registry configuration (or you can use the safe-mode (F8) boot-up option, if necessary). . .just don't go crazy!!  . . .and remember to Back-up and save.

Besides System Restore, there is also a Performace Option (in XP SP2) in System Properties called "Data Execution Prevention" for essential Windows programs and services, that monitors System memory locations for any changes and/or executions from malicious attacks, either by you or some unseen hack.


@*.*@     @*.*@     @*.*@     @*.*@     @*.*@     @*.*@     @*.*@     @*.*@     @*.*@     @*.*@     @*.*@


  The Definitive BIOS Optimization Guide



Virtual Memory in Windows XP



Windows XP

Tweak UI


X-Setup Pro 8.0.100

Publisher's Description:

X-Setup Pro is a so-called "hacker" or "tweaker" program. It allows you to change 1,900 settings that are normally hidden deeply in some configuration-files like the registry fast and easily. It's runs on any Windows version, is clutter-free, easy to use, extensible, powerful, covers any aspect of your computer and has more configuration options than any other tweaker.




 For faster internet connection speeds:

Visit http://www.testmy.net/ Broadband Community

Try CableNut Adjuster

Use VanBuren's Testmy.net Cablenut settings

On-line CableNut Tweak page

Dslnuts Cablenut Broadbandnuts - Tips & Tricks

Or try SpeedGuides TCP/IP Optimizer.

1. Download and install TCP/IP Optimizer
2. Click the General Settings tab and select your Connection Speed (Kbps)
3. Click Network Adapter and choose the interface you use to connect to the Internet
4. Check Optimal Settings then Apply
5. Reboot

MSS is the real amount of data you can send/receive at any given time over your connection medium. MSS is a calculated number from MTU (Max Transfer Unit). Most of the time it is calculated by MTU - 40(for headers) = MSS. Some configurations may not fit this forumla though so you can visit the Speedguide.net TCP/IP analyzer to get your correct MSS size.
       TCP/IP analyzer          > 
 Common MSS sizes are:
  Ethernet: 1460 (1500-40)
      Cable: 1460 (1500-40) ~ DSL PPPoA
        DSL: 1452  (1492-40) ~ PPPoE
    Dialup:   536    (576-40) ~ smaller packets for on-line gaming or 1460 (1500-40)

Latency Checker  - will perform a reverse DNS lookup on your IP address,
 then run a traceroute command against the IP address.
 [use this if you can't do a traceroute or ping past your ISP]

Shields UP! -  Internet security vulnerability profiling
 [checks to see which ports you may have open -
 Each computer has thousands of ports—65,535 to be exact.]

 The port numbers are divided into three ranges:
 The Well Known Ports are those from 0 through 1023.
 The Registered Ports are those from 1024 through 49151
 The Dynamic and/or Private Ports are those from 49152 through 65535
 An offical list is kept by IANA;

 Microsoft Windows 2000 TCP/IP Implementation Details
White Paper (Word Document)
(download and save)

This white paper describes and examines the Microsoft TCP/IP implementation (settings) from the bottom up and is intended for network engineers and support professionals who are familiar with TCP/IP.
[It may help you understand CableNut Adjuster settings better.]

   Security Newsletter
The Microsoft Security Newsletter is a great way to keep informed about all of the latest security patches that Microsoft releases. Receive an e-mail in your inbox every time Microsoft releases a critical security patch. If you are a home user, visit www.microsoft.com/security/ security_bulletins/alerts2.asp for more information on the newsletter. On that page, Microsoft also offers a more technical version of the Microsoft Security Newsletter that will not only notify you of a critical security patch, but will also explain the full vulnerability. If you are an IT professional and want to know exactly what the patch is for, the technical version is for you. Microsoft TechNet also offers a monthly newsletter that offers security news and advice. This is another great newsletter to subscribe to. It was primarily intended for IT professionals, but home users may also find it useful if they are interested in a more technical approach. Visit www.microsoft.com/technet/security/.../newsletter.htm for a copy of the latest newsletter, as well as information on how to subscribe.


also check out  XP Services Guide     XP Tips     More XP Tweaks