Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

w3wp.exe process monitoring and logging

0 views
Skip to first unread message

JayhawkTuba

unread,
Feb 14, 2007, 4:49:12 PM2/14/07
to
We have a highly used IIS application that is utilizilng multiple w3wp.exe
processes that range from 100 MB to 500 MB in memory utilization. There can
be up to 10 of these processes for one application on this server that has 4
GB RAM. We canNOT have the application reset at a lowered preset level
because we do not want the process to terminate in the middle of a query.
Although I disagree with this and would like to preset the memory threshold
at 200 MB, this has turned into a political game. I now feel the need to
gather concrete proof that this is a problem and show some actual data. I am
trying to write a script that will capture these processes and show that they
are increasing in memory utilization and never releasing any memory. I would
like to find a command line tool that will show the actual memory usage for
each process and not just the virtual memory. If there is such a tool, I
would like to know how to find it and download it. If there is an actual
monitoring tool that can already do verything I am inquiring about, I would
gladly abandon this script and go that route.

Thanks in advance.

David Wang

unread,
Feb 15, 2007, 1:15:07 AM2/15/07
to
On Feb 14, 1:49 pm, JayhawkTuba


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
//

0 new messages