[NOTE: XP Pro SP2 and Windows Fundamentals (FLP) has been added to this comparison] Well here is some data I have just compiled in case anyone else is interested. I have been trying to decide whether to keep using windows 2000 or to switch to XP or even a desktop build of 2003 for my new computer. I found the results *very* interesting. Based on these measurements and on the fact that the initial installation sizes of windows 2000 and windows XP were almost identical at around 800MB (2003 was 600MB), it looks like I am going to finally be saying goodbye to 2000. The windows 2000 installation is updated to SP5 and the XP installation is unpatched (SP0). The win2003 installation is questionable as it is a very unofficial build that I downloaded called the "eXPerience edition". The system is a Pentium III-S 1.13Ghz (tualatin) with 512MB RAM. The following data was gathered with guidance from cluberti. I have listed the running processes to show any applications that might have been causing memory usage. XP and 2003 had no installed programs at all. Windows 2000 did have some but only Tiny Personal Firewall and Daemon Tools were set to load on boot and, I shut them down before taking the measurements. All 3 OSes are fresh or near fresh installs. Measurements were recorded (with perfmon) within 5 minutes of booting. I am not exactly sure which numbers to add to get the most precise footprint, but I personally would not include memory used by the system cache in my comparison since that is very useful and is not memory bloat. All installations (with the exception of the second set of WinFLP measurements) are more or less default. Neither nlite nor xplite were used. Edit: My new system is a Core2 Wolfdale E8400 with 4GB of RAM. It seems that service pack 2 adds a huge amount of bloat (both in memory and in hard drive space) to XP. Memory has increased significantly from XP (gold) only some of which can be accounted for by a more aggressive disk cache. The hard drive space has more than tripled from around 800 megs to almost 3 gigs. It's like a vista-lite. Windows FLP is an interesting system. Although even turning services off manually it still has trouble competing with either Win2k SP5 or WinXP SP0 (which is still king). Too bad it's so buggy without service packs and probably has worse compatibility than windows 2000. Note that I wasn't able to run the task manager or even sysinternals process explorer to check on the commit charge or running processes for WinFLP. Also note that there was no form of directx running on WinFLP. dxdiag.exe was not even present. I will be adding more updates with WinXP x64, maybe nlited and maybe a downloadable nlited distribution of XP 32. The latter (TinyXP rev6 by eXPerience) I have been using for a while now. So I am not sure it would be fair to compare it against these fresh installs. I will probably do it anyway. For anyone who isn't familiar with the 'counter' names, here are microsoft's own descriptions. Working Set (_total): "Working Set is the current size, in bytes, of the Working Set of this process. The Working Set is the set of memory pages touched recently by the threads in the process. If free memory in the computer is above a threshold, pages are left in the Working Set of a process even if they are not in use. When free memory falls below a threshold, pages are trimmed from Working Sets. If they are needed they will then be soft-faulted back into the Working Set before leaving main memory." Pool Nonpaged Bytes: "Pool Nonpaged Bytes is the size, in bytes, of the nonpaged pool, an area of system memory (physical memory used by the operating system) for objects that cannot be written to disk, but must remain in physical memory as long as they are allocated. This counter displays the last observed value only; it is not an average." Cache Bytes: "Cache Bytes is the sum of the System Cache Resident Bytes, System Driver Resident Bytes, System Code Resident Bytes, and Pool Paged Resident Bytes counters. This counter displays the last observed value only; it is not an average." System Cache Resident Bytes: "System Cache Resident Bytes is the size, in bytes, of the pageable operating system code in the file system cache. This value includes only current physical pages and does not include any virtual memory pages not currently resident. It does equal the System Cache value shown in Task Manager. As a result, this value may be smaller than the actual amount of virtual memory in use by the file system cache. This value is a component of System Code Resident Bytes which represents all pageable operating system code that is currently in physical memory. This counter displays the last observed value only; it is not an average. " System Code Resident Bytes: "System Code Resident Bytes is the size, in bytes of the operating system code currently in physical memory that can be written to disk when not in use. This value is a component of System Code Total Bytes, which also includes operating system code on disk. System Code Resident Bytes (and System Code Total Bytes) does not include code that must remain in physical memory and cannot be written to disk. This counter displays the last observed value only; it is not an average." System Driver Resident Bytes: "System Driver Resident Bytes is the size, in bytes, of the pageable physical memory being used by device drivers. It is the working set (physical memory area) of the drivers. This value is a component of System Driver Total Bytes, which also includes driver memory that has been written to disk. Neither System Driver Resident Bytes nor System Driver Total Bytes includes memory that cannot be written to disk." Pool Paged Resident Bytes: "Pool Paged Resident Bytes is the current size, in bytes, of the paged pool. The paged pool is an area of system memory (physical memory used by the operating system) for objects that can be written to disk when they are not being used. Space used by the paged and nonpaged pools are taken from physical memory, so a pool that is too large denies memory space to processes. This counter displays the last observed value only; it is not an average." Available Bytes: "Available Bytes is the amount of physical memory, in bytes, immediately available for allocation to a process or for system use. It is equal to the sum of memory assigned to the standby (cached), free and zero page lists." Commit Charge: "Committed memory is the physical memory in use for which space has been reserved in the paging file should it need to be written to disk." ---------------------------------------------------------------------- Windows 2000 (SP5) Physical memory: 523,756k (512MB) Working Set[_total](last): 59,338,752 Pool Nonpaged Bytes(last): 11,476,992 Cache Bytes(last): 33,361,920 System Cache Resident Bytes(last): 4,591,616 System Code Resident Bytes(last): 8,269,824 System Driver Resident Bytes(last): 221,184 Pool Paged Resident Bytes(last): 20,287,488 Available Bytes(last): 436,408,320 commit charge (task manager)(current): 85,192k --------------------------------------------------------------------------------- running processes: system smss.exe winlogon.exe csrss.exe services.exe lsass.exe notepad.exe [3,704k] svchost.exe (x3) spoolsv.exe regsvc.exe MSTask.exe WinMgmt.exe taskmgr.exe [3,628k] explorer.exe -------------------------------------------------------------------------- Windows XP Pro (no service pack) Physical memory: 523,756k (512MB) Working Set[_total](last): 60,100,608 Pool Nonpaged Bytes(last): 2,736,128 Cache Bytes(last): 25,460,736 System Cache Resident Bytes(last): 15,810,560 System Code Resident Bytes(last): 4096 System Driver Resident Bytes(last): 1,282,048 Pool Paged Resident Bytes(last): 8,355,840 Available Bytes(last): 438,001,664 commit charge (task manager)(current): 57,612k ------------------------------------------------------------------------ running processes: ctfmon.exe explorer.exe spoolsv.exe svchost.exe (x4) lsass.exe services.exe winlogon.exe csrss.exe smss.exe taskmgr.exe [3,652k] system notepad.exe [3,672k] ------------------------------------------------------------------------- Windows XP Pro SP2 physical memory: 4GB (3,398,700K) (new system) available bytes: 3,090,903,040 pool paged resident bytes: 83,677,184 system driver bytes:0 system code resident bytes: 1,851,392 system cache resident bytes: 27,607,040 cache bytes: 113,135,616 pool nonpaged bytes: 15,478,784 working set(total): 104,312,832 commit charge: 236,008k --------------------------------------------------------------------------- running processes: IGFXSRVC.EXE IGFXPERS.EXE HKCMD.EXE IGFXTRAY.EXE mmc.exe EXPLORER.EXE taskmgr.exe SPOOLSV.EXE ALG.EXE SVCHOST.EXE (x5) LSASS.EXE SERVICES.EXE WINLOGON.EXE CSRSS.EXE wuauclt.exe SMSS.EXE notepad.exe CTFMON.EXE System ----------------------------------------------------- WinFLP standard min install (before updates) installed on older system (Pentium 3 tualatin 1.13 Ghz, 512MB ram) working set_total(last): 139,415,552 pool nonpaged bytes(last): 7,053,312 cache bytes(last): 59,924,480 system cache resident bytes(last): 34,033,664 system code resident bytes(last): 36,864 system driver resident bytes(last): 1,576,960 pool paged resident bytes(last): 24,276,992 available bytes(last): 346,361,856 after windows updates and manually turning off (stopping and disabling) many unused services: working set_total(last): 83,005,440 pool nonpaged bytes(last): 4,087,808 cache bytes(last): 27,074,560 system cache resident bytes(last): 13,516,800 system code resident bytes(last): 8,192 system driver resident bytes(last): 1,531,904 pool paged resident bytes(last): 12,017,664 available bytes(last): 407,113,728 windows folder size(fresh install + firefox with a few extensions/themes): 656 MB documents and settings (fresh install + firefox with a few extensions/themes): 22.6 MB program files: 30.4 MB ---------------------------------------------------------------------------------------------------------- Windows 2003 Server (eXPerience Edition) Physical mem: 523,756k (512MB) Working Set[_total](last): 79,691,776 Pool Nonpaged Bytes(last): 11,644,928 Cache Bytes(last): 28,884,992 System Cache Resident Bytes(last): 17,182,720 System Code Resident Bytes(last): 32,768 System Driver Resident Bytes(last): 1,855,488 Pool Paged Resident Bytes(last): 9,814,016 Available Bytes(last): 419,024,896 commit charge (task manager)(current): 84,112k --------------------------------------------------------------------------------- running processes: taskmgr.exe [3,340k] wmiprvse.exe explorer.exe svchost.exe (x6) lsass.exe services.exe winlogon.exe csrss.exe smss.exe notepad.exe [2,560k] wmiadap.exe system