XP Performance Tweaks
Introduction
Do you want to make the very best use of your computer's RAM? There are thousands of websites offering performance tweaks and you could spend the next week or more researching the ones you might like to perform, or you can save yourself a lot of bother and read this article. There are hundreds of XP tweaks, but you only need the handful listed here to obtain a significant performance boost. The rest of the tweaks you might find will only give you minor and often indiscernible performance benefits.
Some of the tweaks listed here require that you to edit your registry. kadaitcha.cx accepts no responsibility or liability for your choice to make changes to your registry, or for any other changes you make. There may be serious consequences from making changes and the responsibility for that is entirely your own. In short, you should not perform any registry edits or any other changes to your system unless you know what you are doing.
To start RegEdit, Click Start, type RegEdit in the Run box, and then click OK.
WARNING
There are a number of websites offering alleged performance tweaks that include advice to empty the XP prefetch folder. If you follow this ridiculous advice, your system performance will decrease. Windows XP automatically manages the prefetch folder and there is no need to delete anything from it.
Additionally, the same websites offer a tip to add ConservativeSwapfileUsage=1 to the SYSTEM.INI [386enh] section in order to force the OS to be a bit more aggressive about not going to the pagefile. This is complete rubbish. In Windows XP, SYSTEM.INI is used only by 16-bit applications, and it is included in XP only for backward compatibility, which means the alleged tweak does nothing at all for XP.
Also see Tweak #10 for more information on alleged performance tweaks being peddled by various XP "technical" websites.
|
Tweak #1: Enable ClearType
Tweak #2: Disable Last Access Timestamp
Tweak #3: Disable 8.3 Filenames
IF:
At the command prompt, enter the following then reboot: fsutil behavior set disable8dot3 1 |
Tweak #4: Kernel Paging and Cache Tuning
This tweak is not straightforward in terms of the conditions that ought to exist prior to applying the tweak to your system. There are two parts that can be applied independently, a number of caveats that should be considered, and the details are technically complex. Provided you don't have a laptop, and provided your workstation has 1GB of RAM or more, the easiest way to decide if you should apply this tweak or not is to actually apply it, and undo it later if you wish. You can skip the technical details by going here.
Summary Technical Details:
-
Do not apply this tweak on laptops or portable computers
-
Do consider applying this tweak if the main purpose of the workstation is to serve files to other users on a network
-
Do consider trying this tweak if you do not run a version of SQL Server or IIS (Internet Information Services)
-
There are several Microsoft technical articles indicating that SQL Server will set this value to 0 when it is installed
-
-
Do not consider applying this tweak If the technical detail is too much for you
-
Do consider this tweak if your system is a desktop unit and has independent, non-shared video memory on a plug-in PCI or AGP video card
-
On-board video and shared video RAM must be disabled in BIOS
-
-
Do not try to adapt this tweak to Windows Vista, which has different memory requirements. If you are reading this page and attempting to apply the information to Vista then you should be reading the kadaitcha.cx Vista Performance Tweaks, not this page.
Caveats in Detail
First, if the machine is a desktop or tower unit that is regularly used as a workstation, and if the machine also performs file sharing services then do not apply this tweak if you have less than 1GB of RAM (note: less than 1GB) because there is a risk that you will reduce the performance of the applications that are regularly used. By causing the XP kernel to not be paged to disk or by enlarging the system cache, you may force larger (larger in terms of memory requirements) applications to be paged, which is an undesirable situation for productivity and performance. In low memory systems you should apply Tweak #8 before applying this tweak. kadaitcha.cx considers any machine that has less than 2GB of RAM to be low on memory.
If the machine is used mainly to provide network file shares, is used intermittently as a workstation, and has at least 512MB of RAM, i.e. the machine has 512MB of RAM or more, then you may consider this tweak provided you consider the remaining caveats listed below.
Second, irrespective of the amount of RAM you have in your system, you should monitor your pagefile activity using the Performance Monitor for a day or so of normal use, and you should consider not applying either of the two parts of this tweak if you perceive that pagefile usage is high. You will have higher pagefile activity if your overall memory requirements are high and your total available memory is lower than the overall requirement, which means that Tweak #8 should be applied. Note that you will not be able to monitor your system's performance if you apply Tweak #11.
Laptops or portable computers have limited resources, and they commonly use shared memory for system, application and video display use. In addition, many modern workstation motherboards have a built-in video adapter that is also likely to use shared memory, so if your system does not have an additional, plug-in PCI or AGP video card and if the built-in video is not disabled in BIOS, you should not apply this tweak unless you have memory to burn, at least 2GB.
Third, if you apply this tweak without proper consideration then you may experience random performance decreases. If random performance degradation occurs after performing this tweak then you probably have one of these conditions:
-
A disk-intensive application is managing its own caching
-
A greedy driver is allocating additional RAM
-
Shared video memory allocation is causing insufficient resources to be available to device drivers for plug-in PCI or AGP video cards
-
This situation can, but does not always, manifest itself in stop errors, system instability and the failure of device drivers to load
-
In all the above cases, you will need to undo this tweak and consider Tweak #8 before trying this tweak again.
To recap, if you have 2GB of RAM or more on a desktop machine or tower unit, and if you have an independent video card, and if your machine has on-board video that is disabled in BIOS or has no on-board video support at all, then this tweak is recommended, rather than suggested as it is for Vista. This tweak is especially recommended where XP is being used mainly to serve files over a small network. kadaitcha.cx always applies this tweak to equipment that meets these summary requirements and has never experienced any performance degradation, stop errors or system instability as a result of applying it. Additionally this tweak is highly beneficial if you are in the habit of constantly opening applications when you need them and closing them when you don't need them.
The "DisablePagingExecutive" entry in the registry prevents the kernel (ntoskrnl.exe, part of the core of the XP OS) from being rolled out to a pagefile on disk. The effect of this first part of this tweak is to cause XP to cache the Kernel in RAM instead of on disk, which makes XP more responsive to requests to the core component functions that are performed by ntoskrnl.exe. The "LargeSystemCache" registry entry forces XP to allocate up to all but 4MB of system memory, that is system memory, not available RAM, to the file system cache. The remaining system memory is used for disk caching, though XP will allocate more memory if it is needed. In rough terms, system memory is where XP holds programs and data that are currently in use. This allows applications and files to be cached in RAM rather than stored on disk. A modern hard disk will transfer sequential data to and from disk at up to 40MB per second, or even faster on some of the more expensive, faster-spinning drives, but the LargeSystemCache tweak means that effective transfer speeds of 1GB per second or more can be obtained, depending on the amount of RAM in your system and its operating speed. This is achieved because the LargeSystemCache modification causes the OS to store applications in RAM after reading them from disk. Having a large system cache means that XP is always using the optimum amount of RAM instead of leaving it untouched for future use that may or may not occur. Without this part of the tweak, 256MB or more of RAM in a typical workstation goes completely unused. Some I/O intensive applications may take a hit in performance from changing the LargeSystemCache, so this particular component of the tweak should not be applied to a system that is running very disk-intensive applications. Part 1: DisablePagingExecutive Start RegEdit and navigate to the following key: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management] Double-click the DisablePagingExecutive entry and change the default value from 0 to 1 |
|||
Part 2: Enable LargeSystemCache Repeat the previous step for LargeSystemCache, by changing the default value to 1. Note that the LargeSystemCache entry is in the same registry block asthe entry for DisablePagingExecutive: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management] To see the effects of this tweak, reboot then launch a large, memory hungry application. Any of the Microsoft Office suite of applications will do that job nicely. Let the application load, then exit from it. Fasten your safety harness then launch the application again. A PC with a striped RAID 0 array of two ATA100 7,200 RPM disks with a SiSoft Sandra Drive Index of 28,000 had the two registry changes above applied to it and the Drive Index tripled to an upper mark of 85,000. A similar, scaled-up performance increase can be expected for faster disks. The more RAM you have, the better this tweak will perform. If you have more than 1GB (note, more than 1GB) then your system cache can expand up to its 32-bit limit of 1GB. If you have an x64 XP and if you are fortunate enough to be able to afford the RAM, your system cache can be expanded to one terabyte, which is a bit odd if you consider the maximum non-pooled RAM size (virtual addresses that are guaranteed to be resident in physical memory at all times and can be accessed without causing a page fault) is 128GB in an x64 edition of Windows. |
|||
Tweak #5: Processor Scheduling
Tweak #6: Turn Off the Windows Indexing Service
The Windows Search Companion has been very much maligned by the technical community, and with good reason. It is, in kadaitcha.cx's opinion, a classic example of software that both uses resources and operates at speeds that are inversely proportional to the value of the function that it performs. It is slow, ineffectual and tantamount to useless for serious searching because it deliberately ignores certain files and directories without allowing the user to decide what should and should not be searched. In short, the Search Companion is dysfunctional bloatware. From a Microsoft Knowledgebase article titled "Windows XP may run slowly and you may see multiple symptoms in Windows Task Manager": "This issue can occur if the Indexing service is running on the computer. The Indexing service uses the Cidaemon.exe process to index files. The Cidaemon.exe process builds and updates the Index catalog. Additionally, the Cidaemon.exe process typically uses lots of pagefile space and lots of CPU time." The phrase, "typically uses lots of pagefile space and lots of CPU time" looks like a Microsoft marketing droid's spin on the plain English meaning of, "This is bloatware." Whilst the Windows Search Companion will still function without the indexing service, some performance benefits can be obtained by utilising the indexing service. However the indexing service builds a SQL database of keywords it finds in files. This means that to get at the information compiled by the indexing service, the Search Companion sends an SQL query to the database, which then returns the information to the Search Companion. This can be a frustratingly slow process, even on very fast machines. Besides the feature and performance issues with Search Companion, the indexing service works in the background, scouring almost every file that it finds. On a new system, the indexing service can take days to settle down. This is because the service puts a low priority on its work. Despite this low priority, the indexing service can cause serious performance degradation, especially in lower-end machines because the computer's hard disk runs continuously. If you have Office XP, you may find this of interest. A much better searching alternative is to turn off the indexing service and use Agent Ransack by David Vest. From the Agent Ransack website: "Agent Ransack is a free tool for finding files and information on your hard drive fast and efficiently. When searching the contents of files Agent Ransack displays the text found so you can quickly browse the results without having to separately open each file! Agent Ransack provides compelling advantages over similar search tools: Regular expressions that allow complex rule based searches. Immediate contents results view. Various wizards to walk the user through the searching process. Agent Ransack is provided free of charge for the benefit of the Windows community. If you find it useful please register it, free of charge." To disable the indexing service:
|
|||
|
Tweak #7: Turn Off...
Tweak #8
Get more RAM. The more the better. If you have sufficient RAM, you may not ever hit the pagefile again, depending on the applications you use. XP will run ok with no pagefile and you have enough RAM, though some old, badly-written applications, and some more modern ones that need to allocate huge amounts of space, such as Photoshop by Adobe, might throw an out of memory error if there is no pagefile. The point is, the more RAM you have, the less reliance you have on a pagefile, which is kept on much slower hard disks. RAM is always faster than a hard disk and more RAM will reduce your system's reliance on the pagefile. kadaitcha.cx does not recommend turning off the pagefile, even if you have 4GB of RAM. If the pagefile isn't needed, XP won't use it, but even with 4GB of RAM, memory-hungry applications may still need to utilise the pagefile. Also, some applications need to use the pagefile no matter how much RAM you have to spare. |
Tweak #9
Microsoft has a habit of putting convenience features into their operating systems that are convenient only to a small, select group of users. One such feature in XP is the automatic search for network printers and folders. Automatic search periodically polls your network to check for new shared resources and adds relevant icons into My Network Places if anything is found. Microsoft's documentation on this feature is contradictory. In one sentence Microsoft state that the feature "does not add a great deal of overhead to your Windows XP computer's work load", implying that it does add some overhead, though they are not willing to state the level of that overhead. In the same documentation Microsoft proceed to state that if you have a small network where few resources are added or infrequent changes are made, or if you use a laptop that is regularly disconnected from the network then "...having Windows XP use any resources at all to perform this chore might be counter-productive", thus implying greater overhead than Microsoft are willing to admit to. You can manually search your network for new printers in the Add New Printer Wizard, and you can manually locate new computers and shares on your network using standard URI notation in Windows Explorer, for example: \\machine_name\share_name If you wish to prevent XP from regularly searching your network and performing "counter-productive chores" then follow these simple instructions:
|
Tweak #10
Tweak #11
All versions of Windows NT (NT 4.0, win2k, XP and Vista) contain numerous counters that gather performance information from various parts of the system. The data is continually written to the registry and retrieved by performance monitoring tools, such as System Monitor. The issue with this process is that if you are not using any monitoring tools then the data is being written to the registry for no good reason, however this is balanced by the operating system maintaining a registry cache in memory. If you do not use a performance monitoring tool or any third-party desktop gadgets that report performance data then you can disable all performance data gathering. To see the amount of activity generated by performance counters, type perfmon.msc into the Run box and click OK: There is constant performance data gathering going on, and what you see initially on the Performance Monitor screen is not the half it. To see just how much data gathering is happening, right click any counter listed under Counter, at the bottom of the monitor, and add all the available counters: WARNING If you perform this tweak then the data from all performance objects and counters will not appear in any performance tool. You will not be able to use System Monitor or any other tool that uses Performance Library (perflib) data. Performance will merely be reported as 0 or 100, depending on the counter. To disable all performance counters, run regedit and navigate to this registry key: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib Add a new DWORD Value named DisablePerformanceCounters: Set the value of DisablePerformanceCounters to 1 and either reboot or restart the registry service: If you only want to disable certain performance counters then you can use a Windows 2000 Resource Kit utility named Extensible Performance Counter List (exctrlst.exe). Download the win2k Resource Kit here. |
Tweak #12
If you have two or more hard disks, move your pagefile. If you have only a single hard disk, see the end of this tweak before going to the next one. There is no point in moving your pagefile if you have a single disk, even if the disk has multiple partitions, so this tweak requires at least two hard disks. It relies on the assumption that your second or subsequent hard disk is used much less than your system disk (the disk that your operating system and applications are installed on) so there is less disk activity on it, which means the pagefile can be accessed much more quickly on that drive. In addition, Input/Output (I/O) to and from the second disk is performed in parallel to any I/O on the first disk, which means Windows is not trying to batter the heads across the hard disk as it tries to load files at the same time it is accessing the pagefile. If you have a single disk with partitions then there is no benefit to be gained from this tweak because the pagefile will still be on the same disk, and the disk heads will still have to move across the same hard disk to get to the pagefile. By moving the pagefile to a different disk you can obtain significant performance gains if your machine constantly page faults. Note: A page fault is not an error condition. Page faults occur when the OS needs something that is stored in the pagefile, in other words, a page fault occurs when the computer reads the pagefile. Constant page faults are indicated by lots of disk activity when, for example, switching applications or starting new ones. If you perceive a lot of disk activity in these situations then you really need to apply Tweak #8. This pagefile tweak will perform best if the second or subsequent drive is empty to start with. Failing that, a disk defragment should be performed before applying this tweak to help ensure a contiguous (unbroken) span of space is available for the pagefile.
Click on the hard disk that currently contains the pagefile (1.) then click No paging file (2.), then click Set: Click on the hard disk that you want to contain the pagefile (1.), then click Custom size (2.) and enter the same value as shown in the Recommended field (3.). Finally, click Set then OK: You do not have to use a fixed-size pagefile if you do not want to, however if you elect to allow the system to choose the pagefile, the pagefile will need to grow at a later date, and your system will slow down during the pagefile growth stage. It is suggested that you use a fixed size pagefile of the recommended size. You must reboot to make this change take effect. |
Tweak #13
Tweak #14
|
Keeping your Machine Well-Oiled and Greased
Fragmentation When files are stored on disk they are stored in blocks. A set of blocks can be contiguous or fragmented. Contiguous means adjacent. A contiguous file is composed of a sequence of blocks that is stored in an unbroken chain. A fragmented file has gaps in the block sequence, and the gaps are usually occupied by blocks that belong to other files. If a file is fragmented, or non-contiguous, the hard disk has to skip expanses of blocks as it tries to read a file from start to end, which means that fragmented files cause slower performance. A fragmented hard disk is a disk that has a lot of fragmented files. A defragmented hard disk means faster read/write access, which, in turn, means better overall disk performance. Regularly defragment your hard disk, every week if necessary, and certainly at least once a month. Also defrag your disk after deleting a large number of files, cleaning out your browser cache, uninstalling applications, or after using the Windows Disk Cleanup Utility. The Windows XP Disk Defragmenter is a crippled version of a commercial product called "DiskKeeper" and has a number of limitations:
|
|||
Unused Files One of the most common causes of slow disk performance is the presence of lots of small files, which are often unused. Major culprits include the IE browser cache and Windows temporary file directories. Use the XP Disk Cleanup tool (Accessories menu, System Tools) often: The Disk Cleanup utility can take a while to run on laptops when you execute it for the first time, so be prepared to sit around for a while, or maybe a read a good book. However subsequent cleanups will run much quicker if you perform this task regularly. The Disk Cleanup utility will empty your Internet Exploder cache, but if you use the Firefox browser, you'll have to empty its cache manually. On the Tools menu, select Options then select the Privacy tab. In the Private Data group, click Clear Now... then click Clear Private Data Now. Make sure that you don't clear passwords unless you really want to do that: Removing unused or unwanted files before executing a defragmentation can free up space that will be better occupied after a defrag, this is because files will load faster if they are located closer to the start of the drive. |
|||
Protect your System Against Malware Apart from possibly compromising your private data, malware can have a significant performance impact on your computer. Visit the kadaitcha.cx Malware and Virus page and keep your system free of obnoxious packages. |