[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now

x
?
Solved

Can I determine my .NET application's memory usage without Perfmon?

Posted on 2008-06-12
4
Medium Priority
?
1,345 Views
Last Modified: 2008-08-03
Hello all,

I've been using Perfmon for quite some time, and have gotten pretty experienced in gathering data from it.

However, I have found at least one instance where Perfmon doesn't tell me what I need to know:

We develop a large number of ASP.NET applications, and since they can all run under the same IIS instance (w3wp.exe), it is difficult to tell how much memory each of them is using because it all shows up under the same category!

Currently, the only way I can tell how much memory any of the applications are using by themselves is to put one application into a separate application pool all by itself. Unfortunately, this doesn't work too well on a large scale, because we have dozens of web applications each installed on dozens of client locations.

If I could find a way for each ASP.NET application to write out how much physical memory it is using at any point in time, it would make it a lot easier to tell what applications are the "heavy" ones.

So...can I do it? Can an ASP.NET application tell me how much memory it is using by itself, without telling me how much memory the entire application pool is using?

Comments/suggestions are definitely welcome!

Thanks!
0
Comment
Question by:Inward_Spiral
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
4 Comments
 
LVL 3

Expert Comment

by:aphillips
ID: 21774740
If you just want to know how many bytes are allocated in the managed memory heap try GC.GetTotalMemory.  You might want to force a garbage collection, otherwise this will include unreferenced objects that have yet to be freed.
0
 
LVL 41

Accepted Solution

by:
graye earned 2000 total points
ID: 21956322
An easy way to segregate your ASP.Net applications is to put each one is a separate "ApplicationPool".   That way the Task Manager will report the memory/cpu usage of each application.

http://technet2.microsoft.com/windowsserver2008/en/library/d363b500-147d-4a66-8426-d99dcd3a8d431033.mspx?mfr=true

0

Featured Post

Tech or Treat! - Giveaway

Submit an article about your scariest tech experience—and the solution—and you’ll be automatically entered to win one of 4 fantastic tech gadgets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction A frequently used term in Object-Oriented design is "SOLID" which is a mnemonic acronym that covers five principles of OO design.  These principles do not stand alone; there is interplay among them.  And they are not laws, merely princ…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
This video teaches users how to migrate an existing Wordpress website to a new domain.
Use Wufoo, an online form creation tool, to make powerful forms. Learn how to selectively show certain fields based on user input using rules to gather relevant information and data from your forms. The rules feature provides you with an opportunity…

650 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question