Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

Jvisualvm heap dump on summary tab has functionality to inspect bigest objects by retained size.

What does retained really mean? How size of an object tree is calculated and shown here?
In case I can see here object (10M) and it's member object (5M) how should I calculate heap impact. Does both of them took 10M or 15M of the heap?
Why I can't see none of our facade huge application objects?

Thanks.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
618 views
Welcome To Ask or Share your Answers For Others

1 Answer

What does retained really mean?

How big it would be after a full gc. E.g. a WeakHashMap with a large number of entries could be empty after a GC.

How size of an object tree is calculated and shown here?

The JVM determines this using an internal API.

In case I can see here object (10M) and it's member object (5M) how should I calculate heap impact. Does both of them took 10M or 15M of the heap?

The total is 10 MB. If this is your biggest problem, wouldn't worry about it unless you have a machine with only a few 100 MB. (In which case I would upgrade it)

Why I can't see none of our facade huge application objects?

Perhaps they are not as big in memory as you think?? e.g. they may be expensive to load, but that doesn't make them huge.

BTW: VisualVM is a nice free memory profiler but its only useful for finding obvious problems. I would try a commercial profiler like YourKit (which you can get a free eval license for) for comparison.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share

548k questions

547k answers

4 comments

86.3k users

...