"gsporar" wrote : 1. If I click on Leaks I see a subset of the information
presented when I click on Creations, is that correct? In other words, the Creations
display shows the total number of instances created (by method) and the total number still
alive on the heap. The Leaks display just shows the total number (by method) that are
still alive on the heap.
|
It shows objects created during the capture, associated with the method. You could click
either Instances Created or Instances Created + subMethods.
The release is associated with GC operations that happened during capturing. You can also
disable release calculation deselecting "Calculate releases on GC operations"
during the PID selection.
"gsporar" wrote :
| 2. The Bytes column just shows the size of the objects, not total retained size,
correct? In other words, if I have 10 instances of class A on the heap and each class A
is 100 bytes then the Bytes value would be 1000 even if each instance of class A had a
live reference to a unique class B instance that is 100000 bytes.
|
Yes... that is correct.
Also.. .this is capturing ObjectAlloc and ObjectRelease events from JVMPI. This is showing
only what was allocated during data capturing, and associating these allocs withs methods
what happened during event MethodEnter and MethodExit.
For finding memory-leaks is better to use JVMTI/MemoryProfiler.
"gsporar" wrote :
| 3. Assuming the answer to #2 is that the retained size is not shown, then are there
plans to add more display and sort options? I ask because I don't immediately see how
to use this display to track down some types of memory leaks. I can calculate a delta in
my head between Quantity and Release Quantity, but it would be nice if there were an
additional column for it. More importantly, though, the objects on the heap taking up the
most space are not always the real source of a memory leak problem - a slow leak over time
of small objects can cause just as much trouble. But those slow leaks take longer to eat
up enough heap space to cause an OutOfMemoryError, so it would be nice to be able to sort
by the delta between Quantity and Release Quantity (so that I don't have to run the
application until the error occurs). Is there any further documentation that provides a
tutorial showing how best to use this display?
|
I guess for memory leaks is better to use the JVMTI module. This is used exclusevely to
track down what's happening inside a method. Like... to verify if a method is creating
an object and releasing it properly. This is more useful for things like message objects.
Also, please... as you're reading the documentation, if you find any lack of
information, please let me know how can I improove it.
thanks a lot,
Clebert Suconic
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3961324#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...