|
Re: Need help to analyse result given by MAT [message #507924 is a reply to message #507875] |
Fri, 15 January 2010 03:54   |
Eclipse User |
|
|
|
Hi,
This is a very interesting question.
I think the analysis you did is very good, but the problem seems to be tricky.
You found already that the classloaders are kept after the restart of the app, and you found one path to them - the one from the BirtEngine class. This class is marked as a GC root with the reason Native Heap, which should mean there is references somewhere from the native heap. And I can't tell why.
The Merged Shrotest paths gives you only one path per object. What you could try is to run Paths From GC roots on one of the objects and see if it will return you more paths. You can also look at the inbound references to a classloader (context menu, list objects -> with incoming references).
Howefer all these are just to search for another path, and will not answer the question why the BirtEngine classes are marked as "native heap" GC roots.
BTW, I remember I have seen some of my instances marked as "Native heap" and not removed as I was debugging, had a breakpoint on this place, and was using the "All Instances" context menu in the debugger. I couldn't explain it then. Were you by chance debugging when this happened?
Does this help in any way?
|
|
|
|
|
|
Re: Need help to analyse result given by MAT [message #507966 is a reply to message #507963] |
Fri, 15 January 2010 06:22  |
Eclipse User |
|
|
|
This with the debugging is really strange. I found it while playing with the problem described here https://bugs.eclipse.org/bugs/show_bug.cgi?id=287852
I added one comment today, may be this helps the people there.
The 2 classes you see are may be ok. Look who loaded them, who keeps them, etc...
About the task manager I wouldn't worry. It does show how much memory the process reserved and uses, but doesn't reflect the state of the java heap. I mean, the memory in task manager may have grown as the java heap was resized. But this will probably stay so for a while even if GC can clean everything in the java heap.
|
|
|
Powered by
FUDForum. Page generated in 0.04727 seconds