Eden v Old [message #10229] |
Sun, 03 May 2009 18:57  |
Eclipse User |
|
|
|
Is there any way to identify which objects are in Eden versus Survivor
spaces v Tenured space?
And/or get the object copy count? (i.e the counter of the number of times
the object has survived GC in the young generation).
I'm attempting to identify what's causing the generation-0 garbage
collection to take so long.
|
|
|
Re: Eden v Old [message #10295 is a reply to message #10229] |
Tue, 05 May 2009 15:56  |
Eclipse User |
|
|
|
Hi Michael,
sorry, bad news, the heap dump neither contains the info about the space
the object is in (also not if the String is in perm) nor an object copy
count. With a heap dump only you will have problems to figure this out.
Maybe take a look at the number of weak and soft references. Many of those
references increase the stop-the-world time, because the VM has to decide
at one point or another whether to mark the objects "behind" the refrence
or not. From what I understand, this has to be done in sync with all gc
threads.
In the OQL pane, you could run "SELECT * FROM INSTANCEOF
java.lang.Reference" to see all those references currently in the heap.
Also the "Java Basics" -> Reference statistics queries can give you an
overview of what those references currently keep alive.
The other point to look into are finalizers. As you probably, finalizers
always require 2 full gc to actually free up the space. Again, the "Java
Basics" category also contains a query which displays finalizers and
what's in the queue.
Hopefully I could give you some hints,
Andreas.
|
|
|
Powered by
FUDForum. Page generated in 0.04175 seconds