no issues with large object heap fragmentation were detected

Memory profiling for .NET developers

Moderators: Luke Jefferson, StephenC, AndrewH, melvyn.harbour, james.billings, Laura Morley, dene.boulton

no issues with large object heap fragmentation were detected

Postby winanjaya » Fri Dec 23, 2011 11:23 am

Dear All,

in Memory fragmentation section shown:

Total number of fragments: 5
Number of large fragments: 1 (97% of free memory)
Wastage due to small fragments: 45.89KB (3.05% of free memory)
Largest fragment: 1.425MB (97% of free memory)

then the last is:

no issues with large object heap fragmentation were detected

what does it meant?..

please advise

Thanks & regards
winanjaya
 
Posts: 4
Joined: Fri Dec 23, 2011 4:53 am

Postby Brian Donahue » Tue Dec 27, 2011 2:50 pm

ANTS Memory Profiler has been designed to detect many different scenarios where the .NET Framework memory management can fail to reclaim memory and one of these is Large Object Heap fragmentation. Basically, objects over a certain size go on this special area of memory that is prone to fragmentation. So you can avoid this by splitting up types or consolidating them somehow.

But in your case you do not have a problem in this area as you have 97% free space in a contiguous block and not a lot of small fragments. You usually want to see large amounts of contiguous free space because if you have plenty of free space but it is not all adjoining, you can have allocation problems when large objects are created.
Brian Donahue
 
Posts: 6670
Joined: Mon Aug 23, 2004 10:48 am

Postby winanjaya » Tue Dec 27, 2011 3:10 pm

but my application goes to System.OutOfMemoryException after it ran for some days ..

what should I check?, so what should I check?

I need advise

Thanks & Regards
Winanjaya
winanjaya
 
Posts: 4
Joined: Fri Dec 23, 2011 4:53 am

Postby Brian Donahue » Tue Dec 27, 2011 3:25 pm

Well we know what it *isn't*.

Memory profiling is a tricky business and, like I said, can have a myriad of causes. Microsoft have written a pretty solid memory manager (garbage collector) so in theory, no .NET program should leak memory. You have to try to work out why it isn't reclaiming memory and you usually do this by looking for either the largest object or most prolific objects in comparison of two snapshots. If you don't have any understanding of .NET memory management, this is going to be more difficult.

I'd try going through the walkthroughs and hopefully that will point you in the right direction.
Brian Donahue
 
Posts: 6670
Joined: Mon Aug 23, 2004 10:48 am


Return to ANTS Memory Profiler 7

Who is online

Users browsing this forum: No registered users and 0 guests