Cleaning Prefetch
With every wonderful new enhancement comes some negatives. What happens with the prefetch is that, eventually, your prefetch directory begins to get a bit stale. Old, outdated links and obsolete junk will fill the directory, thereby reducing your computer's speed noticeably. The fix, however, is quite simple.
Delete everything in here
Simply navigate to the windows directory (usually c:\windows) and then into the prefetch directory. In here, just delete everything. When you reboot, Windows will retune itself and everything should be happy again. It is recommended you do this on a monthly basis (along with scandisk and defrag).
Memory Management Tweaks
Following is a list of memory management tweaks. They are exactly the same as the Windows 2000 tweaks, and there are mixed feelings on just how effective these tweaks are in XP. Regardless, here are the tweaks. Apply them if you will...they certainly won't hurt performance, and they may very well improve it. Please note that you should have plenty of RAM before implementing ANY of the following tweaks. I recommend at least 256MB. As usual, we will begin by opening regedit.
- Start | run | regedit.
- Navigate to the following key
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/ SessionManager/MemoryManagement - Within this key are a large number of tweakable items. Since they are the same as win2k, I'll post the descriptions directly from my 2k tweak guide.
DisableExecutivePaging. The default value of this key is 0, but we're going to set it to 1. This will prevent Windows XP from paging its Executive Files out of memory, which in turn makes the O/S and programs more responsive. As mentioned above, however, you should be sure to have alot of RAM on your computer before using this tweak.
LargeSystemCache. On all Windows XP server platforms, this setting is on by default (which may explain their ungodly memory requirements). What is does is cause the O/S to dedicate all but 4MB of RAM to the file system cache, which in turn allows the computer to cache the OS Kernel to memory. This makes the computer much more responsive. The setting is a dynamic one, so if 4MB is no longer enough to handle program requests, Windows automatically gives up the needed RAM. The default value for this key is 0, though you should set it to 1 if you have enough RAM on your system. Running very intensive applications, such as SQL servers and IIS, is not recommended with this setting turned on.
IOPageLockLimit. The vast majority of people will get very little use out of this tweak, but I found it and it's pretty neat. What it does is tweak the size of the IOPage (duh), which helps when doing a large amount of file transfers or other similar things. As usual, you will need more than 128MB of RAM for this tweak to do much, and in most cases you won't notice a difference in performance unless you're running a server of some sort. The default value of this key is 512KB, whereas the most effective size is somewhere between 8 and 16MB. The value in this key is in bytes, so you will need to multiple your MB value (say, 16MB) times 1024 to get kilobytes, and then again by 1024 to get bytes. For people that are lazy, that comes out to 16777216.
Speedier Shutdown
This tweak is also present in my Win2k tweak guide. However, it's equally effective under XP. Basically what we're doing is reducing the amount of time that Windows waits before it kills unresponsive programs. The biggest gain should be during shutdown, though technically it should help anytime. We're going to start by firing up regedit.
- Start | run | regedit.
- Navigate to the following key<
HKEY_CURRENT_USER\Control Panel\Desktop\ - Modify the following values:
HungAppTimeout to 4000 (5000 is default)
WaitToKillAppTimeout to 4000 (20000 is default) - Next, browse to the following key
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\WaitToKillServiceTimeout - Modify the value down to 4000 (default is 30000).
Reboot, and you should be good to go. Note that the values are in milliseconds. You could, technically, modify the value down to 1, but that would more than likely end in a completely useless computer. 4000 milliseconds is 4 seconds, which should be plenty of time for the program to wrap up what it's doing (if it hasn't hung up). You can always tweak these values to something different if you feel the need.
Automatic Updates
Though this isn't a memory tweak per se, it will free up memory and and cpu cycles. Automatic Update does just that...it automatically updates your O/S, presumably from windowsupdate.microsoft.com. Since you should be hitting this site up regularly for security patches and whatnot anyway, having automatic update enabled is pointless and wasteful of resources. To turn it off, follow these instructions.
- Open the control panel.
- Go to system.
- Click on the automatic updates tab and turn it off.
Automatic Updates
And that does it for that. No more autoupdates.
Unload DLLs to Free Memory
The following tweak will unload DLLs from memory (duh). Basically, whenever you run an application that requires DLL's to be loaded (most, if not all programs fall under this category), even after closing the program, Windows keeps the DLLs in memory in case you decide to reopen the program in the near future. Well, if you have gobs of RAM, that's fine. However, some people would rather just have the RAM back.
To make this happen, we will need to open regedit.
- Start | run | regedit.
- Navigate to the following key
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer - Create a new DWORD named AlwaysUnloadDLL and give it a value of 1.
A quick reboot, and now Windows Explorer will no longer cache DLLs in memory.
That wraps up the memory tweaking portion of this guide. The next portion covers the most difficult and time consuming, but in the end most effective, method of tweakin out Windows XP.