Optimizing Windows 2000

Since there was no Windows 2000 version of my book Optimizing Windows, sometimes people ask me what tweaks they can use to improve Windows 2000’s performance.
It turns out there are a few things you can do to optimize Windows 2000. Here are some tips that I use on a fairly regular basis.

To remove non-critical but hidden Windows components to save some disk space, open /winnt/inf/sysoc.inf in Notepad and do a search on HIDE. Delete the word HIDE (but leave all commas in place) and now you’ll be able to cleanly uninstall things like Solitaire.

Here’s a nice trick if you have limited CPU power and want to squeeze out a few more cycles. If you want a particular program to have higher priority than usual, execute it with the command START /HIGH (programname). You can put this command in a batch file and create a shortcut pointing to it. This will buy you a little extra speed out of intensive programs like FPS games, video-manipulating software, or archivers. Don’t do this with all of your programs; that defeats the purpose. The idea is to make the computer pay special attention to one or two apps.

To save some precious CPU cycles, go into your display properties and the effects tab and disable everything. While you’re there, change your display mode. Never use 24-bit color; the 32-bit mode is faster on every video card I’ve ever seen. (32-bit chunks are much more convenient to manipulate than 24-bit chunks.) If 16-bit color is adequate for your needs, use it instead. Next, go into Control Panel, Sounds and Multimedia, and select the No Sounds scheme. In the Control Panel window itself, go go Tools, Folder Options, and pick Use Windows Classic Folders and Use Windows Classic Desktop.

To save even more, download TweakUI (search Google; Microsoft moves it all the time) and install it by right-clicking the included INF file. Now, from the newly created TweakUI control panel, set your menu speed to the fastest setting. Go to General and disable Mouse hot tracking effects. Go to IE and disable Shell Enhancements.

If practical, install Win2000 to a drive you’ve already preformatted NTFS. You should avoid 512-byte cluster sizes as they guarantee fragmentation of the MFT. Of course, the default size is 512 bytes. The minimum cluster size you want to use is 1024 bytes (1K). You’ll get slightly better speed if you go to 4K allocation units, which is the smallest practical size we got with the FAT filesystem anyway. One way to do this is to install W2K, create a small partition, install a minimal system, create your partition, then reboot and reinstall to the partition you just created. Then you can safely reformat the partition that held your initial Win2K installation.

For most tasks, the FAT filesystem is faster than NTFS (in extreme cases, up to 30% faster), though it doesn’t give you the features that NTFS does. If you work with huge files (over 2 GB), you need NTFS. But if you’re working with a marginal PC and don’t need NTFS’s security features, format your drives FAT32 or, if you can live with 4-gig partition limit, format it FAT16 which is faster still. (A 4-gig FAT16 drive won’t be readable by DOS or Windows 9x, however.) Note that the included defragmenter doesn’t like some combinations of filesystems and cluster sizes, so copy a few files over to the new drive and try to defrag before you reboot and install to that drive.

If you’re using NTFS, you can remove some of its overhead by disabling its last file access update (which it does even when you so much as look at the contents of a directory). Go into Regedit and go to HKLM/System/CurrentControlSet/Control/FileSystem. Create a REG_DWORD called NtfsDisableLastAccessUpdate and set it to 1.

Similarly, if you’re using NTFS and you don’t run 16-bit apps, you can disable the creation of 8.3 filenames. Go into Regedit and go to HKLM/System/CurrentControlSet/Control/FileSystem. Create a REG_DWORD called NtfsDisable8dot3NameCreation and set it to 1. Don’t do this trick if you run Access 97, and be ready to change it back if you experience odd behavior from software that worked before.

You can remove Internet Explorer from Windows 2000 using IERadicator from www.98lite.net, but if you’re going to do so, you have to remove it from vanilla Windows 2000. Installing the service packs causes W2000 to restore the “critical” IE files. I haven’t tried removing IE, then installing the service pack afterward. Mozilla is a more-than-capable replacement; if you just want something really lightweight, give OffByOne a look.

You can find instructions for disabling system file protection (which will, theoretically, allow you to remove IE) at www.winguides.com/registry/display.php/790/ but I have not attempted this procedure. It’s more complicated for Windows 2000SP2 and above or Windows XP.

You can find small and lightweight Windows programs at www.tinyapps.org. If one of these programs is up to a particular task for you, use it. You’ll save lots of memory.

15 thoughts on “Optimizing Windows 2000

  • June 15, 2002 at 3:29 am
    Permalink

    It’s interesting to note that you don’t mention whether or not W2K or WXP benefit from disc partitioning. I’ve heard that XP works better as one large single partition. what do you think about that, especially after you assert that it’s best to keep the OS separate from other applications?

  • June 15, 2002 at 8:29 am
    Permalink

    I’d say it’s always best to keep the OS away from the other apps in a windows based system. It always seems to improve it’s speed, and it’s less likly to fragment so quickly. Best thing though with XP, is to just not use it…

  • June 16, 2002 at 8:22 am
    Permalink

    > “For most tasks, the FAT filesystem is faster than NTFS (in extreme cases, up to 30% faster)….”

    I don’t agree with that dismissal, at least not without very specific qualification. The defining factors are partition size and number of files, where NTFS gets better in comparison as either or both increase. Admittedly, past 2GB you’re effectively only comparing with FAT32 or Linux, and the former even MS admits is not fast. This 2GB size is probably also the breakeven point where NTFS is seriously worthwhile to begin with.

    Windows systems being what they are with an incredible amount of (often small) files, the way NTFS stores small files and directory information right in the system MFT at the front of the disk confers considerable speed advantages (fewer and faster seeks).

    Frequent writing of data is also far less costly than in FAT systems, partly due to the different way fs information is managed, and partly because of the lazy-write caching (commit breakpoints when cached modified data is flushed out to disk). This caching has two benefits: far fewer actual physical writes, and the ability to reorder sector writes into single sweeps of the physical heads on disk — a kind of poor-man’s software SCSI emulation.

    > “If you’re using NTFS, you can remove some of its overhead by disabling its last file access update (which it does even when you so much as look at the contents of a directory).”

    This overhead is less costly than it may seem thanks to the lazy-write strategy, because most of the frequent touch updates (which would otherwise be of concern here) occur in RAM.

    The biggest benefit of NTFS is otherwise reliability, because NTFS has long used change journaling in conjunction with its cache-and-commit strategy. When things go wrong in the middle of file updates, file corruption is relatively rare. Instead, the system recoveres and redoes the logged changes, or rolls back changes to the previous safe breakpoint if that’s not possible.

    This is not to say MS didn’t take an inherently robust and powerful fs design and cripple it in various ways (and continue to tweak it in odd ways), but apart from going with the newer *nix filesystems, NTFS remains a well-established and good native-Windows choice for NT-based systems.

    As for cluster size, there’s little cause to change the default setting. NTFS handles cluster addressing far more efficiently than FAT. Fragmentation does occur (unlike the early claims) but grows far slower than in FAT, and it carries fewer performance penalties — at least until you pass about 70-80% full on the parition. NTFS doesn’t just grab the first empty space to store, it actively tries to optimize fit and provide buffer zones for future file expansion.

    I went into some detail here because NTFS is poorly documented and generally poorly understood.

  • June 16, 2002 at 8:22 am
    Permalink

    > “For most tasks, the FAT filesystem is faster than NTFS (in extreme cases, up to 30% faster)….”

    I don’t agree with that dismissal, at least not without very specific qualification. The defining factors are partition size and number of files, where NTFS gets better in comparison as either or both increase. Admittedly, past 2GB you’re effectively only comparing with FAT32 or Linux, and the former even MS admits is not fast. This 2GB size is probably also the breakeven point where NTFS is seriously worthwhile to begin with.

    Windows systems being what they are with an incredible amount of (often small) files, the way NTFS stores small files and directory information right in the system MFT at the front of the disk confers considerable speed advantages (fewer and faster seeks).

    Frequent writing of data is also far less costly than in FAT systems, partly due to the different way fs information is managed, and partly because of the lazy-write caching (commit breakpoints when cached modified data is flushed out to disk). This caching has two benefits: far fewer actual physical writes, and the ability to reorder sector writes into single sweeps of the physical heads on disk — a kind of poor-man’s software SCSI emulation.

    > “If you’re using NTFS, you can remove some of its overhead by disabling its last file access update (which it does even when you so much as look at the contents of a directory).”

    This overhead is less costly than it may seem thanks to the lazy-write strategy, because most of the frequent touch updates (which would otherwise be of concern here) occur in RAM.

    The biggest benefit of NTFS is otherwise reliability, because NTFS has long used change journaling in conjunction with its cache-and-commit strategy. When things go wrong in the middle of file updates, file corruption is relatively rare. Instead, the system recoveres and redoes the logged changes, or rolls back changes to the previous safe breakpoint if that’s not possible.

    This is not to say MS didn’t take an inherently robust and powerful fs design and cripple it in various ways (and continue to tweak it in odd ways), but apart from going with the newer *nix filesystems, NTFS remains a well-established and good native-Windows choice for NT-based systems.

    As for cluster size, there’s little cause to change the default setting. NTFS handles cluster addressing far more efficiently than FAT. Fragmentation does occur (unlike the early claims) but grows far slower than in FAT, and it carries fewer performance penalties — at least until you pass about 70-80% full on the parition. NTFS doesn’t just grab the first empty space to store, it actively tries to optimize fit and provide buffer zones for future file expansion.

    I went into some detail here because NTFS is poorly documented and generally poorly understood.

  • June 16, 2002 at 8:24 am
    Permalink

    Heh, spurious error message about empty name field caused me to submit twice. Better fix that, Dave.

  • June 19, 2002 at 3:11 pm
    Permalink

    Ok then, what about registry cleaning & compacting? I loaded up Norton Sys2001 because it has a registry cleaner in Cleansweep & Windows Optimizer(?) which compacts the registry, only to find that it only works in Win9x! What’s up with that? What programs help compact the registry in W2k?

  • June 19, 2002 at 5:38 pm
    Permalink

    The deal with no registry optimization is that while Win9x stores registry hives in a single dat-file (plus a user .dat for settings), NT-based systems (NT4, W2k, WXP) use a different, multiple-file layout to store keys and information. Hence NT registries don’t compact with W98 tools.

    one shareware tool that claims support also for NT-based registry compact/defrag is at http://talismanic.net/codeworld/regcompact/ “RegCompact eliminates registry fragmentation by writing the data in the registry out into a temporary file. This data is written sequentially, so there are no holes from deleted data or fragmentation. RegCompact then reboots the system, and the compacted registry hives are replaced when the system starts up.” — Caveat: I haven’t tried it myself.

  • August 17, 2002 at 7:44 am
    Permalink

    There are also free tools for NTFS system hive defragmentation available from SysInternals (http://www.sysinternals.com), as well as other useful free snippets of software. I’ve actively used their PageDefrag, which defragments the registry and page files on NTFS drives (using built in Windows API functions as I recall, so it won’t mess up things).

  • January 30, 2003 at 4:16 am
    Permalink

    comment dite a tom hanks che per ciò che ha fatto gli verrà strappato il cuore e strizzato come un limone su una bistecca per renderla più succosa
    è una promessa ed io le promesse le mantengo
    se vuoi trovarmi devi andare su yahoo e cercare: webkey for 2003 advanced antivirus system se hanno cambiato la chiave trovane un altra
    se farai ciò che ho scritto riuscirai a trovare la strada che ti condurrà a me

  • January 30, 2003 at 4:18 am
    Permalink

    comment per trovare mè devi cercare su yahoo webkey for 2003 advanced antivirus center

  • February 7, 2003 at 11:22 am
    Permalink

    I installed w2k to a small partition, and then formatted the rest of the disk as described. When I reinstalled to the new partition, I chose to install a fresh version. Now the boot screen offers me two w2k entries. I am going to reformat the original partition. Is it possible to add this disk space to the main partition? Also, when I do reformat, will I still be offered two options for w2k in the boot menu? If so, how do I remove one of them? This machine is going to be used by non technical users who would be confused by extra menu options and disk partitions. Thanks for the help.

  • February 7, 2003 at 7:23 pm
    Permalink

    Combining partitions is something that Partition Magic can do under some circumstances, but I don’t know if it can merge NTFS partitions. I wouldn’t count on it.

    Removing the other entry is just a matter of loading boot.ini in an editor and removing a line.

  • February 10, 2003 at 10:32 am
    Permalink

    I popped the drive in another w2k box and formatted it there, before returning it to its original box and installing the os. The other option I came up with was to mount the extra partition to a ntfs folder, thus the end user won’t really see more than one partition. Any ideas on a good folder to pick? I thought about mounting it to the temp folder but 900 megs seems large for temp files. Maybe I should have put the /winnt folder on it. I was afraid that this would not allow for system file expansion.

  • February 10, 2003 at 10:56 pm
    Permalink

    /winnt would be a bad idea–I’ve seen that folder bloat to more than 2 gigs in size. /temp would be good. I can’t remember where IE stores its downloads before it puts them where you told it to in the filesystem, but I’m pretty sure it’s temp. So a gig allocated to it isn’t out of line. If you’re in the habit of downloading huge ISO images it can be too small.

Comments are closed.

%d bloggers like this:
WordPress Appliance - Powered by TurnKey Linux