Windows XP Tweaking
v1.2<-- please note the version number. v1.00 was when I posted it and I have revised and added some more things in a few sections.
I have broken this guide into 6 parts. Networking, file system, memory performance, freeing up memory, startup/shutdown and then the other stuff. I've tried to pack as much performance related tweaking here as I can but there's always more to be uncovered. I will update this article as frequently as possible. I know there's a million tweaks that I'm missing here but I am trying to keep this guide dedicated to tweaks that directly affect your performance. I'll put together a second guide about the annoyances and other things but keep in mind this is ONLY performance stuff. If you know of something that affects the performance quite a bit and it's not listed here please post a thread in our Windows forum.
We of course have to spotlight Enemy_Of_Evil and https://www.mods4me.com/forums/showthread.php?s=&threadid=45 for the basis of this article
There's a
What are the tools of the trade?
Notepad - With this baby you can get out of having to spend much time in regedit ;) What you will want to do is create a file call tweaks.reg on your desktop. After that files has been created right click on it and select edit. Next paste what I have in italics into that file. You will have to read what I have said about each tweak and you'll have to change some of them according to your system.
Regedit - Knowing how to use it to edit your registry is a MUST for this guide. It is the only tool that we're using here.
To run it you will have to click on the start menu and select run. From there you type regedit. From there you can browse around and find all kinds of things to change/edit. If you're new to this make sure you look but NOT touch. Make sure that you make a backup before you touch anything. To do this you click on File and then export. Save the registry file someplace safe and if your screw something up you will have to return to regedit and either fix your changes or import the old file. I suggest you reboot after every line that you change since you'll have to restart windows in order for the changes to take affect. You don't want to do too many edits at a time. This will slowly help you safely tweak things out. Basically browsing the registry is setup just like browsing folders in windows explorer. When I say something like "the key you need to edit can be found here HKEY_LOCAL_MACHINE/Software/Microsoft" you will click on the HKEY_LOCAL_MACHINE folder and then look for the Software folder and then the Microsoft folder and the key you either have to add or edit will be in there. I will tell you very specific keys to add or edit. You will see the keys within t 18418l1114s hat folder in the right side box. Right Click on them to see what all you can do with them. |
Alot of these tweaks can be done in Cache man and Tweak XP but what kind of a guide would this be if I only pointed you to software?
File System
Your drives are the biggest bottleneck in your system and there's a few things that you can do to greatly improve the performance of them. If your main use for your computer is running applications all day long this is of course a MUST! Surprisingly the biggest things that slow NTFS down are "features".
Turn off indexing
The newer version of NTFS introduces some new "features" One of these is a file indexing thing that enables you to search for files and also text within files very quickly. How is this done? Well... every time you add a file it is logged into a DB that can eat away at your drive space rather quickly and slows you down while doing so. I would suggest everybody turn this off because I don't know of anybody who does enough searches on their drives to sacrifice as many resources as this does.
1. Browse to your hard drive either through Windows Explorer or
through my computer |
CDFS tweaks
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\CDFS
Look for that registry key, if not there, we must create a new key, then add
the following values
CacheSize, this must be added as a binary value, then type in this value: ff ff
00 00
Prefetch, this key must be added as a DWORD value, then type in this value:
4000 hex
PrefetchTail, this key must be added as a DWORD value, then type in this value:
4000 hex
Or in your *.reg file...
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\CDFS]
"CacheSize"=hex:ac,09,00,00
"Prefetch"=dword:00004000
"PrefetchTail"=dword:00004000
Convert Fat 32 to NTFS
I won't bore you with the details about the differences between NTFS and Fat32. You'll just have to trust me on this one. NTFS is faster and more secure than Fat32 is on larger drives. On smaller like sub 25Gb drives Fat32 is faster. NTFS's speed advantage only kicks in on higher capacity drives. There's a rather simple command that isn't very easy to find that will convert your FAT32 partition to NTFS. Open the command prompt by hitting start and then selecting run and type: "Convert C: /FS:NTFS". Replace C: with whatever the drive letter you'd like to convert is. Also make sure there is a space between the C: and the foward slash (/). Once you press enter it will ask you for confirmation and press Y. Then press Y and enter once more to reboot. It will take between one hour and 15 minutes to convert to NTFS. Now you can set passwords for files and use encryption. This also works for windows XP Home. Unfortunately this makes the default cluster size 512 bytes instead of the 4kb that a clean format of NTFS provides.
Make NTFS run better ;)
Now that you've converted over to NTFS or you had it already there's a few
things that you'll want to do to make it run faster. NTFS was designed more for
the server market and there's some features that we
don't really need and can either tune a little bit or disable all together.
1. Last access update is another feature that I'd turn off and will help
you get a little more performance out of your hard drive. What is this? NTFS
updates the date stamp on directories whenever it opens the directory. To turn
this rather useless feature off browse to HKEY_LOCAL_MACHINE\SYSTEM\CurrentContolSet\Control\Filesystem
and change the NtfsDisableLastAccessUpdate registry entry to 1
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"NtfsDisableLastAccessUpdate"=dword:00000001
2. Short names is something that is needed for DOS compatibility. Most of us will want to turn this off. The only time you'll want to leave this on is if you are supporting DOS or win 3x based clients. I think all of us have some machines like that in our CLOSET but certainly not in use. To turn this off you'll have to go browse to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Filesystem in your registry and change the default value of the NtfsDisable8dot3NameCreation registry entry to 1.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"NtfsDisable8dot3NameCreation"=dword:00000001
Or to put both of them to use insert this into your *.reg file
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"NtfsDisable8dot3NameCreation"=dword:00000001
"NtfsDisableLastAccessUpdate"=dword:00000001
Reboot after making changes.
Memory Performance
Improving memory performance can be done simply by preventing your hard drive from being used for cache. This is only useful with 256Mb or more of RAM.
Everything that you'll need to edit here can be found in HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Memory Management
So of course add [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management] to your *.reg file.
Disable Paging Executive
This will prevent pages sections from RAM going to the hard drive. If you have
a large amount of RAM at least 256Mb (I suggest 512) you might want to keep the
data in your RAM to improve your performance considerably due to reduced amount
of hard drive swappage. The entry that you will want to modify is called DisablePagingExecutive.
Changing this from 0 to 1 will keep the data in your RAM.
"DisablePagingExecutive"=dword:00000001
System Cache Boost
The XP kernel can be loaded into your RAM with a simple registry edit. This can
greatly improve performance since the NT Kernel will always be in your RAM.
With this edit you will allocate roughly 4Mb of your RAM for the kernel.
Sometimes more RAM is used but most of the time it is only 4Mb. The entry that
you will need to find is called LargeSystemCache and you'll need to
change this from 0 to 1 in order to enable this.
"LargeSystemCache"=dword:00000001
To put both of these RAM tweaks into use you'll add something like this to your reg file
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Memory Management]
"DisablePagingExecutive"=dword:00000001
"LargeSystemCache"=dword:00000001
Disable Virtual Memory
Right click my computer
Click the advanced tab
Click the settings button under performance
Click the advanced tab
Click change by Virtual Memory
If you have more than 512Mb of RAM I suggest you click no paging file
Click set then ok 3 times and you'll need to reboot
This may cause your system to quit booting
DirectX based games that use large textures will often times NOT be able to run even when you have 512Mb of RAM.
Adobe products also have problems with this it seems at ANY RAM size. It's worth trying but if your adobe programs quit working afterwards this will most likely be the reason.
There's all kinds of goodies you can do when you have tons of RAM. One of them is creating a drive that loads things into your RAM. For all the information you'll want to visit Microsofts support pages that details this better than I can in the small space. MS support pages info
The only limitation is that the drive can only be 32MB in size. :(
Freeing up memory
Remove MSN
X:\Windows\inf\sysoc.inf
msmsgs=msgrocm.dll,OcEntry,msmsgs.inf,hide
To this:
msmsgs=msgrocm.dll,OcEntry,msmsgs.inf,,7
Remove the Autoplay
Hit start, run and then type in gpedit.msc (NOT in home version). Browse Computer Configuration -> Administrative Templates -> System Autoplay begins reading from a drive as soon as you insert media in the drive. As a result, the setup file of programs and the music on audio media start immediately. To stop this right click on properties for Turn off autoplay and select enable then click ok. |
MSconfig is a great place to free up a considerable amount of RAM. You can remove alot of things from your startup including services. You'll want to first uncheck all un needed programs on your startup. |
The best place to make changes to services can be found with just a few clicks.
Control Panel --> Administrative Tools --> services
From there you will want to look over all the different services that are running. When you first install Windows XP you will have 89 available services and 36 of these are set to automatically start as the DEFAULT! There's really only 5 that are needed to run. You should never set these to disabled. It can cause quite a few problems if a program requires them to run. Setting these to manual will allow them to run if needed but won't automatically start with windows. This will free up quite a bit of resources by only running the services that are truly needed.
The only place that I've found that really explains these services well can be found HERE I'm sure you'll be as surprised as I was to see how much garbage is on/in Win XP by default. When properly tweaked you can really get alot more performance out of this OS.
Unloading DLLS
Explorer does not unloadDLL files from memory right away.
They always remain in the memory for a period of time that is often quite
lengthy. To unload DLLs when you are done with them navigate to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer
This time you'll have to create an entry called AlwaysUnloadDLL and set
the value to 1.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer]
"AlwaysUnloadDLL"="1"
Shutting down/ Startup
There's quite a few things related to shutting down your system faster located in HKEY_CURRENT_USER\Control Panel\Desktop
AutoEndTasks (set to 1) will automatically kill hung
up programs for you. The next one is HungAppTimeout
(make sure it's 5000). Next up is WaitToKillAppTimeout. Which should be
set to 4000 (default is 20000).
Since we have the programs being killed after a certain amount of time you
will also want to do the same for services. Change the WaitToKillServiceTimeout
to 4000 as well.
[HKEY_CURRENT_USER\Control Panel\desktop]
"AutoEndTasks"="1"
"HungAppTimeout"="5000"
"MenuShowDelay"="400"
"WaitToKillAppTimeout"="4000"
"WaitToKillServiceTimeout"="4000"
The XP Prefetcher
Windows XP has a service called the Prefetcher. It basically monitors the
different programs that start during startup and helps them launch faster.
To find this tool browse to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
The important key is EnablePrefetcher. Default value for this is 3. You will want to try numbers between 1 and 6. 5 seems to work best for me but your mileage may vary.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Memory Management\PrefetchParameters]
"EnablePrefetcher"="5"
Cleaning Prefetch
Just like everything else in windows after a while the prefetch ends up with files that haven't been used in quite a while. Every so often you should browse to C:/windows/prefetch and clean out what you don't need.
Disable Auto reboot
1. Right Click My computer and hit properties
2. Go to Advanced
3. Under the Startup and Recovery section, click Settings...
4. Under System Failure un-check "Automatically restart"
Crappy "Features"
Windows Xp has a number of features that are not needed by most of us and use up valuable resources.
Automatic Updates
Right click my
computer, hit properties
Automatic updates
Turn off
Turn off System Restore
Go to your Control Panel
Click System
Go to the System Restore tab
Check the box Turn off System Restore for all drives
For some of you disabling this isn't a good idea. If you are going to do this you should make this the very last tweak that you try. You should also turn this back on before you make any major changes to your OS. This is a way that will help free up some resources but it comes at a cost. Windows XP by default has many many safety nets. It will improve system performance if you're flying without the safety net. BUT if you fall without the nets properly in place then you die.
Turn off Automatic Updates
Go to your Control Panel
Click System
Go to the Automatic Updates tab
Click the turn off updates box
Turn off user tracking
Run gpedit.msc
User Configuration --> Administrative Templates --> Start Menu and taskbar
Look for Turn off user tracking and double click on it
Select Enable
This setting prevents the system from tracking the programs
users run, the paths they navigate, and the documents they open. The system
uses this information to customize Windows features, such as personalized
menus.
If you enable this setting, the system does not track these user actions. The
system disables customized features that require user tracking information,
including personalized menus.
The Default start menu relies on this. If you're using the classic start menu like I am then make sure you turn this off cause it doesn't do any good for you.
Remove Built in CD burning
Run gpedit.msc
User Configuration --> Administrative Templates --> Windows Explorer
Look for Remove CD Burning Features and double click on it
Choose enabled and apply
I suggest using a third party program such as Nero or Adaptecs EZ CD Creator.
Networking
This is where I am putting all of the LAN and modem related tweaks.
Share browsing speedup
Why does browsing shared folders on some computers take so much longer than it does on some other machines? Something as simple as having any Scheduled tasks on the computer you're trying to browse can add up to 30 seconds of waiting! Fortunately, it's fairly easy to disable this process. You'll have to open up regedit. The key that you will want to change is in the HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/Current Version/Explorer/RemoteComputer/NameSpace directory. Browse through the contents and find a key called . Delete this nasty little key. As with all registry changes it will require a reboot for the changes to take affect.
Slow boot on network
Sometimes when connected to a LAN the boot time can take a few minutes. Load
times shouldn't be anywhere near that! Signs of this include the system
seemingly freezes after logging in, your desktop showing up but for some reason
you just can't click on anything or run things for a minute or two. This can be
traced back to mrxsmb.dll by using bootvis.exe. This can of course be a number
of other things but most of the time it's your file and printer sharing.
1. Right click on Network Places --> Properties
2. Right click on your Ethernet Adapter connection --> properties
3. Un-check "File and Printer Sharing for Microsoft Networks" -->
OK
4. reboot
5. If you need file or printer sharing, repeat the above, re-check the box and
re-boot again.
Simply uninstalling and reinstalling your file and printer sharing will fix this up. Another case of funky MS syndrome. AKA keep BigCheeze Employed bug.
Increase BROADBAND speed in WinXP *Should work for 56k also*
1. make sure your logged
on as actually "Administrator". do not log on with any account that
just has administrator privileges.
2. start - run - type gpedit.msc (not available in home version)
3. expand the "local computer policy" branch
4. expand the "administrative templates" branch
5. expand the "network branch"
6. Highlight the "QoS Packet Scheduler" in left window
7. in right window double click the "limit reservable bandwidth"
setting
8. on setting tab check the "enabled" item
9.where it says "Bandwidth limit %" change it to read 0
Effect is immediate on some systems, some need to re-boot. This is more of a
"counter what XP does" thing. In other words, XP seems to want to
reserve 20% of the bandwidth for its self, even with QoS disabled. So why not
use it to your advantage. To demonstrate the problem with this on stand alone
machines start up a big download from a server with an FTP client. Try to find
a server that doesn't max out your bandwidth. In this case you want a slow to
medium speed server to demonstrate this. Let it run for a couple of minutes to
get stable. The start up another download from the same server with another
instance of your FTP client. You will notice that the available bandwidth is
now being fought over and one of the clients download will be very slow or both
will slow down when they should both be using the available bandwidth. Using
this "tweak" both clients will have a fair share of the bandwidth and
will not fight over the bandwidth.
OR you could just uninstall it ;)
Increase your cable
modem or DSL speed in XP
This tweak is for broad band cable connections on stand alone machines with
winXP professional version - might work on Home version also. It will probably
work with networked machines as well but I haven't tried it in that
configuration. This is for windows XP only, it does not work on win2000. I use
3 Com cards so I don't know how it works on others at this point. It does not
involve editing the registry. This tweak assumes that you have let winXP create
a connection on install for your cable modem/NIC combination and that your
connection has tcp/ip - QoS - file and print sharing - and client for microsoft
networks , only, installed. It also assumes that winxp will detect your NIC and
has in-box drivers for it. If it doesn't do not try this. In the "My
Network Places" properties (right click on the desktop icon and choose
properties), highlight the connection then at the menu bar choose
"Advanced" then "Advanced Settings". Uncheck the two boxes
in the lower half for the bindings for File and Printer sharing and Client for
MS networks. Click OK
1. From the windows XP cd in the support directory from the support cab,
extract the file netcap.exe and place it in a directory on your hard drive or
even in the root of your C:\ drive.
2. next, open up a command prompt window and change directories to where you
put netcap.exe. then type "netcap/?". It will list some commands that
are available for netcap and a netmon driver will be installed. At the bottom
you will see your adapters. You should see two of them if using a 3Com card.
One will be for LAN and the other will be for WAN something or other.
3. Next type "netcap/Remove". This will remove the netmon driver.
4. Open up control panel / system / dev man and look at your network adapters.
You should now see two of them and one will have a yellow ! on it. Right click
on the one without the yellow ! and choose uninstall. YES! you are uninstalling
your network adapter, continue with the uninstall. Do not restart yet.
5. Check your connection properties to make sure that no connection exists. If
you get a wizard just cancel out of it.
6. Now re-start the machine.
7. After re-start go to your connection properties again and you should have a
new connection called "Local area connection 2". highlight the
connection then at the menu bar choose "Advanced" then "Advanced
Settings". Uncheck the two boxes in the lower half for the bindings for
File and Printer sharing and Client for MS networks. Click OK.
8. Choose connection properties and uncheck the "QOS" box
9. Re-start the machine
10. after restart enjoy the increased responsiveness of IE, faster page
loading, and a connection speed boost.
Oddball stuff
Visual effects in system panel
A noticeable performance boost can be found when you turn off alot of the eye candy in Win XP
Right click my computer,
hit properties
advanced --> Performance --> settings
Adjust for best performance
Start menu speedup
To make your start menu show things quite a bit faster you will want to browse HKEY_CURRENT_USER/Control Panel/Desktop./ and edit the MenuShowDelay key. Changing that to a lower number will result in faster performance.
L2 Cache size
Windows XP can't detect the proper amount of L2 cache on your CPU. you'll want
to go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Memory Managementand change the SecondLevelDataCache key to
the L2 cache size of your CPU (in Kb). I've received a few questions about this
one and I thought I'd clarify it. when you select to modify this file the
default entry is in hexadecimal simply change the selection to decimal and THEN
enter your number. Such as 256, 512. A value of 100 in Hexadecimal will result
in 256Kb being shown since that is what it's decimal number is.
Some have argued that this is only for the old systems that have their cache externally. I'm looking for more information on this right now.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Memory Management]
"SecondLevelDataCache"="100"
Thanks for reading!
That's everything that I know about tweaking Windows XP for better performance. Sure there's alot more tweaks out there that don't truly affect performance. Please give all feedback in THIS thread. Please remember that this is in fact done at your own risk! Please don't even do one of these tweaks without backing your data up properly.
|