| Author |
Message |
winanjaya
Joined: 23 Dec 2011 Posts: 4
|
Posted: Fri Dec 23, 2011 11:23 am Post subject: no issues with large object heap fragmentation were detected |
|
|
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 |
|
| Back to top |
|
 |
Brian Donahue
Joined: 23 Aug 2004 Posts: 6344 Location: Red Gate Software
|
Posted: Tue Dec 27, 2011 2:50 pm Post subject: |
|
|
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
Technical Support
Red Gate Software Ltd.
44 (0)870 160 0037 ext 8521
US and CAN 1-866-RED GATE ext 8521 |
|
| Back to top |
|
 |
winanjaya
Joined: 23 Dec 2011 Posts: 4
|
Posted: Tue Dec 27, 2011 3:10 pm Post subject: |
|
|
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 |
|
| Back to top |
|
 |
Brian Donahue
Joined: 23 Aug 2004 Posts: 6344 Location: Red Gate Software
|
Posted: Tue Dec 27, 2011 3:25 pm Post subject: |
|
|
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
Technical Support
Red Gate Software Ltd.
44 (0)870 160 0037 ext 8521
US and CAN 1-866-RED GATE ext 8521 |
|
| Back to top |
|
 |
|
|
All times are GMT + 1 Hour
|
| Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group