Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is retained size for an object on heapdump?

I've recently increase my use of the Profiler in Netbeans (6.7), this is a great tool.

I have a question however. When taking a heap dump, on the summary page (expect window) it is possible to 'find the biggest objects by retained size'.

What is this value and how is it used to analyze memory usage?

like image 518
Thirler Avatar asked Sep 03 '10 12:09

Thirler


People also ask

What is retained size?

Retained size of an object is its shallow size plus the shallow sizes of the objects that are accessible, directly or indirectly, only from this object. In other words, the retained size represents the amount of memory that will be freed by the garbage collector when this object is collected.

What is retained in VisualVM?

I think the best definition for "Retained" in the VisualVM is the amount of memory that will remain after garbage collection. In some cases it can be bigger than the "Size" since it reference other objects (or collections) directly or indirectly.

What is shallow size and retained size?

Shallow and retained sizeshallow size: the size of the object itself. retained size: the size of the object itself, plus the size of other objects that are kept alive by this object.

What does retained heap mean?

Retained heap is the amount of memory that will be freed when the particular object is garbage collected.


1 Answers

The retained size for an object is the quantity of memory this objects preserves from garbage collection.

The formal definition is "the size of the object plus the size of all objects referenced only by the first object, recursively".

For more explanations about what the retained memory is, see this article.

One easy way to remember it is that the retained memory is all the memory that could be garbage collected if this object was dereferenced.

like image 129
Vivien Barousse Avatar answered Sep 23 '22 17:09

Vivien Barousse