Thanks in advance.
Use Perfmon which comes built in to Windows Server 2003.
Trying to prove "memory leak" is best done with fewer processes, which
you monitor over time. The reason is because you have to distinguish
between "aggressive caching" and "memory leak", and without source-
code, it's hard to distinguish between the two. You want to determine
the application's "idle state", which is easiest to achieve with one
process. Why?
Because suppose the process leaks memory. You can easily say that one
process should not hold onto 2GB RAM, but with 4 processes of the Web
Garden holding 500MB each, it's harder to make that argument since you
don't know if the application's idle state requires 1GB or 100MB. But
if you run 1 process and it leaks through 1GB, that's easier to show.
I am more inclined to question the provisioning numbers because if you
can show that a w3wp.exe can reach 500MB in size and the OS has only
4GB RAM, it means that you can run at max 7 w3wp.exe in a Web Garden
before Pagefile Swapping kills performance. And you should likely use
the 50% ceiling rule of thumb to configure a Web Garden of 4 to ensure
head-room to cover for the bad-case.
My only question is whether this application's throughput suffers from
per-process contention (like a process-wide lock) such that it
actually performs better with 10 process than 4, assuming low memory
usage.
Because if it does not have performance characteristics to use Web
Garden, I would easily shrink its Web Garden # before worrying about
the memory-based recycling.
//David
http://w3-4u.blogspot.com
http://blogs.msdn.com/David.Wang
//