This message is pretty old, but any chance you found the answer to your question through other means than this forum?
I think I'm looking for the same as you. I want the "true" memory usage of my app at any point in time. My methodology is to create a hprof dump file for the time when I want to measure usage, then load it into MAT. A lot of useful features for finding memory leaks/problems, but no obvious way of getting the retained size of all gc roots.
I think I've found the answer. If you look in the MAT manual under configuration, you can see there is an option to keep unreachable objects which is unticked, which means by default MAT discards unreachable objects while parsing the dump. Hence the size shown on the overview tab is the number I want. The true memory consumption of the app at the time of the dump.
Seems like such an important point to know about that it would be useful to include it in the FAQ!
I did read this in the FAQ, but that was not my point.
There's a slight cognitive leap from knowing that MAT filters out unreachable objects to knowing that the headline number displayed on the overview tab is the retained size of all gc roots. (I still don't know this for a fact, because nobody's given a definitive reply to the original message. I'm just assuming.)