Microsoft says Windows 2000 is a "self-tuning" operating system which adjusts itself to various conditions to provide optimal performance in any given situation. As such, there aren't many obvious go-faster tweaks available for Windows 2000 - the only immediate one is the Performance Options Settings under the Advanced tab in the System Properties dialogue, which lets you prioritise between Applications and Background services.
If possible, start at installation time. Don't be tempted to put Windows 2000 on an older machine without enough RAM (128MB is the realistic minimum) or slow hard disks - the virtual memory subsystem loves to page out to disk, so you'll want a quick IDE or SCSI drive, especially if you run many apps simultaneously.
Avoid upgrading, e.g., a Windows 98 setup to Windows 2000; instead, do a clean install on a freshly formatted partition. This avoids initial disk fragmentation. FAT32 partitions will give slightly better performance than NTFS ones (about 10 per cent), but you'll lose out on the advanced features of the latter file system, so bear that in mind.
If, like me, you have a multi-disk system, put the Windows 2000 swap file on a different disk to the one where the operating system files reside. (Ideally, it should be on a separate disk controller as well.) This reduces disk thrashing and volume fragmentation when the OS needs to page out to disk and look for system files at the same time. Having two or more disks in your system also means you can create Striped Volumes with Disk Manager; Windows 2000 creates a logical disk across two or more physical disks, a technique which boosts performance greatly.
If you have a good amount of memory, fire up RegEdit or RegEd32 and change some of the Session Manager values next (first read the warning about backing up, above, though). Note that Registry key names are case sensitive and that you'll have to reboot the system for the changes to take effect.
Go to HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Memory Management and add a key called DisablePagingExecutive with a REG_DWORD value of 1. This keeps the NT Executive in memory at all times (drivers and kernel-mode system code) instead of being paged out to disk when not in use.
By default, Windows 2000 clears the system page file at shutdown by writing 0s to it, as a security measure. If you're not worried about someone snooping at your page file, you can quicken shutdowns by setting the ClearPageFileAtShutDown key to a REG_DWORD value of 0.
While we're here, you can change how Windows 2000 Professional uses the system cache. It defaults to the Small Cache Model, which means it won't use all available RAM for caching, unlike Windows 2000 Server. This is to speed up program loading. If you don't load many programs, change the LargeSystemCache key to a REG_DWORD value of 1.
Systems with lots of RAM and plenty of disk activity might benefit from raising the amount of memory that's locked for I/O operations from the default 512KB. Do this by changing the IoPageLockLimit key from 0 (512KB) to a larger value, e.g., 4069 or 8192KB hexadecimal (1000 and 2000, respectively).
A bit further up the HKEY_LOCAL_MACHINE\SYSTEM\Control-Set001\Control\Session Manager\tree, you'll find FileSystem, and a couple of tweakable keys - if you're not worried about 16-bit applications expecting 8.3 file names on NTFS volumes, set NtfsDisable8dot3NameCreation to REG_DWORD 1; second, if you don't need the OS to set the time stamp on every file each time you do a 'dir', change NtfsDisableLastAccessUpdate to REG_DWORD 1 to from 0.
It's a good idea to try out each tweak one at a time, doing before-and-after benchmarks to see the difference they make. In some cases, a small performance increase might be cancelled by added memory usage. You might find, however, that the cumulative effect of many little tweaks adds up to substantially improved system performance, so don't forget to look at the whole picture.
There are some more tips available (such as not loading the POSIX and OS/2 subsystems and shifting the print spool directory to a different drive than your operating system) which you might find worth checking out. Next month, I'll cover how to measure the changes of the tweaks, with the help of Performance Monitor.