Q

How can we determine where a memory leak is coming from?

We have a Web application running. We believe there is a memory leak -- the server locks up and users cannot use

the system. A reboot is the only solution. How do you recommend we pinpoint this problem? Is there a product you can recommend to capture where the memory leak is coming from? Thank you. The product you'll use to track it down depends on how you built the Web application. Most questions of this type come from users who have built ASP 3.0 applications in VBScript, and the reason memory leaks and repetitive failure is so common is that it's an inherent problem with that development environment.

While it's possible to write ASP 3.0 code that doesn't have memory leaks, it's very difficult to track them down. In a nutshell, on any given ASP page, your code should destroy any objects that it has created and close any connections that are opened (pay particular attention to database connections). Verify that all branches in the code allow for objects to be cleaned up properly.

Rather than putting the energy into tracking down those bugs, I would recommend you port the application to ASP.NET. ASP.NET applications are much less likely to have memory leaks. If they do, they won't cause the entire system to crash -- ASP.NET automatically and transparently cleans out its memory without affecting users of your site.

This was first published in April 2003

Dig deeper on Windows Operating System Management

Pro+

Features

Enjoy the benefits of Pro+ membership, learn more and join.

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

SearchServerVirtualization

SearchCloudComputing

SearchExchange

SearchSQLServer

SearchWinIT

SearchEnterpriseDesktop

SearchVirtualDesktop

Close