Private memory managed heap keeps growing

Use this forum to discuss subjects that don't belong in the other forums.

Moderator: SciTech Software

Private memory managed heap keeps growing

Postby memoryproblem » Wed Jun 08, 2005 3:57 pm

I am trying to track down if my app has a memory leak. I ran it through the profiler and found that the objects I expect to be live and expect to be removed are behaving as expected. But my memory consumption does not come down. I even tried calling GC.Collect at the end of my application but I don't see the numbers for the private memory managed heap come down.

My app basically has the following sequence. Start the application. open a customer object. close the customer object without doing anything.

When I run through the profiler I see that the Customer object has 0 live instances when the app starts. Gets one live instance after I take a snapshot after opening a customer. and then 0 live and 1 removed when I take another snapshot after closing. Does this mean that the object is available for garbage collection at that point? Why then does the GC not collect it even when i force a Collect call. I take another snapshot after the GC.Collect and I still see the managed heap at the same level as when a customer is loaded. I do not have any finalizers in my objects nor am I using any resources within them that need to be disposed. Am I interpreting the profiler numbers correctly?
memoryproblem
 

Postby Guest » Fri Jun 10, 2005 12:28 pm

Hi,

If the profiler tells you that instances of a class have been removed, it means that they have been garbage collected; they're not just eligible for garbage collection. However, the instances may get collected earlier than usual when collecting a snapshot, since a full garbage collect is performed when a snapshot is collected.

In order to optimize performance, the managed heap is not reduced everytime an instance is garbage colllected. If you're looking for a memory leak, you should look at the total size of the live instances. If this number doesn't increase, then you don't have a managed memory leak.

Does the memory usage of your application keep increasing, or does it level off after a while?

Best regards,

Andreas Suurkuusk
SciTech Software AB
Guest
 


Return to General

Who is online

Users browsing this forum: No registered users and 4 guests

SciTech Software logo

© Copyright 2001-2016. SciTech Software AB
All rights reserved.


SciTech Software AB
Kartvägen 21
SE-175 46 Järfälla
Sweden


E-mail: mail@scitech.se

Telephone: +46-706868081

cron