previous      content      next
Merged paths

'Merged paths' view is a tool for examining how objects are retained. It is especially useful for analyzing objects of classes with a great number of instances, such as int[], System.String etc.

'Merged paths' is similar to 'Paths from GC roots' view; however, it shows not paths through individual objects, but paths from multiple objects grouped by class.

For example, see the picture below. The 'Merged paths' view shows that the memory held by Hashtable/bucket[] instances is mostly retained by Hashtable instances, which are in turn retained by CopyOnWriteHashtable and BuildItem.

Another difference between 'Merged paths' and 'Paths from GC roots' is that 'Merged paths' is build on dominator tree while 'Paths from GC roots' is build on full object reference graph. This means that some intermediate nodes seen in 'Paths from GC roots' may be missing in 'Merged paths' for objects which are retained indirectly.

previous      content      next