dotMemory Help

Group by Generations

The Group by Generations view shows how objects from the selected set are distributed among generations. Use this view to determine whether you have too much large objects (which are collected less efficiently and produce heap fragmentation) or objects that live too long (e.g. potential memory leak).

The list of heaps consists of the following columns:

Name Description
Generation A certain heap where objects from the set can be allocated: Generation 0, 1, 2, or Large object heap.
Total, bytes The size of a certain heap defined by GC.
Utilization A ratio that shows what part of a heap is occupied by objects from the set.
Objects count The number of objects from the set allocated in a certain heap.
Used, bytes Size of objects from the set allocated in a certain heap.

Example

generations_2

What Can I Analyze Next?

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

  • Objects from a certain generation
    To select objects from a certain generation for analysis, double click on the corresponding generation. Another way to do it is right-click on the generation and choose Open this object set. After this, the [Generation_name] Heap subject will be added to the Analysis Path and certain objects will be displayed in the Type List view.

The Group by Generations View for the 'All Objects' Set

If you analyze the All objects object set, the Group by Generations view provides additional information about the fragmentation of all heaps allocated for your app.

Use this view to determine whether you have too much large objects (which are collected less efficiently and produce heap fragmentation) or objects that live too long (e.g. potential memory leak). The main point of your interest here should be Large Object Heap as the only part of the managed heap which is not compacted (see .NET Memory Management Concepts).

The list of heaps consists of the following columns:

Name Description
Map A certain heap where objects from the set can be allocated: Generation 0, 1, 2, or Large object heap.
Total, bytes The size of a certain heap defined by GC.
Utilization A ratio that shows what part of a heap is occupied by objects from the set.
Objects count The number of objects from the set allocated in a certain heap.
Fragmentation A level of fragmentation. The 0% fragmentation means that all free memory is located in a single block. Learn about how the fragmentation is calculated in this article.

See Also

Last modified: 11 February 2015
comments powered by Disqus