dotMemory Web Help

The Group by Dominators view shows the list of dominators for the selected object set. Use this view to identify the key objects of your application - objects that retain the major part of allocated memory.
The object A dominates the object B if every path to B from application's roots goes through A. In other words, the object B is retained in memory exclusively by the object A: If A is garbage collected, B is also garbage collected. For example, an array is a dominator for its elements.

retained_by_1

If there are more than one path to an object from app's roots, it is considered as not dominated. In terms of dotMemory such objects are called Not exclusively retained objects. For example, if the object C is retained by the objects A and B and A is garbage collected, C will stay in memory (as it is still referenced by B). Not exclusively retained objects are quite important for analysis as in some cases they might lead to a memory leak.

The list of dominators consists of the following columns:

Name Description
Type Type name.
The number left to the type name shows how many objects of that type are retained that way. For example, elements of some array of integers A are retained in the exact same way (A -> element), but elements of the other integer array B have another retention path (B -> element).
Objects count The number of objects that are dominated by the dominator.
Bytes The overall size of exclusively retained objects in bytes.

Example

retained_by_3

What Can I Analyze Next?

In the Group by Dominators view, you can select the following subjects for further analysis:

  • Exclusively retained objects
    To see what objects are retained by objects of a certain type, double click on it in the list. Another way to do it is right-click on the type in the list and choose Open objects retained by this set. After this, the Retained by [type_name] subject will be added to Analysis path and the list of dominated objects will be displayed in the Type List view.

  • Dominators
    To select objects of a certain type, right-click on it in the list and choose Open this object set. After this, the Dominators [type_name] subject will be added to the Analysis Path and the list of objects will be displayed in the Type List view.