How do I find a memory leak on an IIS server?
How do I find a memory leak on an IIS server? Is there any tool through which
I can find a memory leak?
Well, start by using the Performance console, and monitor the processes to determine which
process is constantly consuming more memory. You don't tell me anything about the applications
you're running, but most people with memory leak problems on an IIS server are using ASP 3.0
applications. If that sounds like you, your problem is probably poorly written ASP code. Developers
often forget to destroy objects after they create them, which creates a memory leak. Certainly,
I've done it, and I spent many hours trying to track down the memory leaks in my own application.
Your developer will need to go through the code in every ASP page and ensure that every object that
is created is also destroyed. This is harder than it sounds, because many ASP pages will have
complicated conditions and branches and create objects on-demand.
Ultimately, I improved the situation in my own application with hours of labor, but I couldn't find
all the memory leaks. My final solution was to upgrade the application to ASP.NET, which handles
destroying objects automatically and reliably.
Wish I had a better answer for you.
This was first published in May 2004