Jump to content

memory footprints: win2k, XP, winFLP, and 2003 [update2]


gojirasan

Recommended Posts

[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

Edited by gojirasan
Link to comment
Share on other sites


Very interesting indeed, although you'll want to be running SP2 on that WinXP install (and perhaps SP3 when it releases), so I'd still suggest a test with SP2 to see the differences vs SP0 on XP and SP4(5) on W2K, just in case. Your findings are about what I'd expect though, so I'm glad you did go through the test :).

Link to comment
Share on other sites

I 2nd cluberti's suggestion of an XP SP2 test.

Possibly an even more interesting test would be to include WinFLP (Windows Fundamentals for Legacy PC's), which is a slimmed-down WinXP SP2 made by Microsoft for older PC's.

Edited by Bleeder
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...