User Manual

Types/Resources Page

The Types/Resources page is the main snapshot view. After a heap snapshot has been collected, it shows information about all managed types and unmanaged resources in the profiled application. If more than one snapshot has been collected, information about the changes between snapshots will also be presented in this view. If the unmanaged resources tracker is not enabled, the name of this page is only “Types,” and only information about managed types is presented.

You can use the Show snapshot and Comparison snapshot dropdown lists to select which snapshots to view.

Show hierarchical

If the Show hierarchical check box is checked, the types and resources are presented hierarchically in the Types/Resources table, based on assembly/module and namespace. Otherwise, the types and resources will be presented in a flat list.

Show types/resources

The Show types/resources dropdown list can be used to filter the type and resources that should be included in the table below. The following options are available:

•      All

•      With new or removed instances

•      With live and/or allocated instances

•      With live instances

•      With allocated instances

•      With disposed and/or undisposed instances

Types/Resources Table

The Types/Resources table presents a list of types and resources in the profiled process. The items can be sorted by clicking on the column headers and filtered using the column filter at the top row and the Show types/resources dropdown list.

The details of a type or resource can be viewed by double-clicking an item in the list or selecting the Show details command. This will bring up the Type/Resource Details page.

The information presented for each item depends on the selected field set and can be customized using column customization.

The following information is always presented for each item:

•      Type/Resource indicator
The left-most column contains an indicator of whether the item is a managed type or an unmanaged resource using the following symbols:

ManagedRuntime    Managed type

UnmanagedResource    Unmanaged resource

•      Analysis issue
Indicates if the memory analyser has found an issue related to the item. Further information about the issue is presented in the  tooltip of the issue icon. For more information about analysis issues, see Automatic Memory Analysis.

•      Namespace/System
If the item is a managed type, this column shows the namespace name of the type. If the item is a resource, this column shows the “System” of the resource (e.g., a Windows subsystem, such as Gdi or User).

•      Name/Resource
If the item is a managed type, this column shows the name of the type. If the item is an unmanaged resource, this column shows the name of the resource.

•      Live instances - Total
This column shows the total number of live instances of the type or resource. Instances of a managed type are only considered to be “live” if they are reachable from any root.

•      Live instances - New
This column shows the number of new instances. A new instance is a live instance that did not exist at the time of the comparison snapshot.  If the comparison snapshot is “Empty,” this value will be the same as the Live instances - Total value, since there are no previous instances.

•      Live instances - Removed
This column shows the number of removed instances. A removed instance is an instance that existed at the time of the comparison snapshot and is not a live instance at the time of the selected snapshot.

•      Live instances - Delta
This column shows the difference between New Instances and Removed Instances.

Standard Field Set

If the Standard field set is selected, the following information is, by default, also included in the list:

•      Live bytes - Total
This column shows the total number of bytes used by all live instances of the type or resource. If the item is an unmanaged resource and no size information is available, then this column will be empty.

•      Live bytes - New
This column shows the total number of bytes used by all new live instances of the type or resource. If the item is an unmanaged resource and no size information is available, then this column will be empty.

•      Live bytes - Max 
This column shows the maximum bytes used by a single live instance of the type or resource. If the item is an unmanaged resource and no size information is available, then this column will be empty.

•      Live bytes - Delta
This column shows the difference between the total instances size for the current heap snapshot and the total instances size for the previous snapshot. If the comparison snapshot is “Empty,” this value will be the same as the Live bytes - Total value, since there are no previous instances. If the item is an unmanaged resource and no size information is available, this column will be empty.

•      Allocs/sec (or Allocs)
This column shows either the number of allocations per second or the number of allocations that were performed between the selected snapshot and the comparison snapshot, depending on whether the /sec toggle is checked.

•      Bytes/sec (or Alloced bytes)
This column shows either the number of bytes allocated per second or the number of bytes allocated between the selected snapshot and the comparison snapshot, depending on whether the /sec toggle is checked.

Dispose Info Field Set

If the Dispose info field set is selected, the following information is also included in the list:

•      Disposed instances - Total
This column shows the number of instances that have been disposed but are still reachable. The numbers presented in the Disposed instances column should usually be zero. If they are not, it might indicate a memory leak. For more information, see Dispose Tracker. If the item is an unmanaged resource, this column will be empty.

•      Disposed instances - New
This column shows the number of new disposed instances. A new disposed instance is a disposed instance that did not exist at the time of the comparison snapshot.  If the comparison snapshot is “Empty,” this value will be the same as the Disposed instances - Total value, since there are no previous instances. If the item is an unmanaged resource, this column will be empty.

•      Disposed instances - Removed
This column shows the number of removed disposed instances. A removed disposed instance is an instance that was disposed and reachable at the time of the comparison snapshot and is no longer reachable at the time of the selected snapshot. If the item is an unmanaged resource, this column will be empty.

•      Disposed instances - Delta
This column shows the difference between New and Removed disposed instances. If the item is an unmanaged resource, this column will be empty.

•      Undisposed instances - Total
This column shows the number of instances that have been garbage collected without being properly disposed. For more information, see Dispose Tracker. If the item is an unmanaged resource, this column will be empty.

•      Undisposed instances - Delta
This column shows the number of instances, between the selected snapshot and the comparison snapshot, that have been garbage collected without being properly disposed,. If the item is an unmanaged resource, this column will be empty.

Heap Utilization Field Set

If the Heap Utilization field set is selected, the following additional information is included in the list:

•      Allocs/sec (or Allocs)
This is the same column that is included in the Standard view. It shows either the number of allocations per second or the number of allocations that were performed between the selected snapshot and the comparison snapshot, depending on whether the /sec toggle is checked. If the item is an unmanaged resource, this column will be empty.

•      Gen #0 - Allocs/sec (or Allocs)
Gen #1 - Allocs/sec (or Allocs)
Gen #2 - Allocs/sec (or Allocs)
Large - Allocs/sec (or Allocs)
These columns show which heap the instances allocated between snapshots ended up in. If Show heap utilization as percent is selected, the numbers are presented as a percentage of the total number of allocations performed. Otherwise, they will show as Allocs or Allocs/sec, depending on whether the /sec is checked. For more information, see Heap Utilization Tracker. If the item is an unmanaged resource, this column will be empty.

•      Unreachable - Instances
This column shows the number of instances that exist on the garbage collected heap without being reachable from a root. If the heap snapshot was collected using the standard Collect Heap Snapshot command, then the values presented in this column will always be zero, since a full garbage collection has been performed. On the other hand, if the snapshot was collected using the Collect Gen #0 Heap Snapshot command, or if the snapshot comes from an attached process or imported memory dump, then there might be unreachable instances on the heap since a full garbage collection has not been performed. For more information see, Heap Utilization Tracker. If the item is an unmanaged resource, this column will be empty.

•      Unreachable - Bytes
This column shows the number of bytes used by instances that exist on the garbage collected heap without being reachable from a root.

Memory Leaks Field Set

If the Memory Leaks field set is selected, the following columns will also be included in the list:

•      Total  -Memory leak instances
This column shows the total number of instances that have been identified as potential memory leaks by a failed memory assertion. If the item is an unmanaged resource, this column will be empty.

•      Delta - Memory leak instances
This column shows the difference between the total number of memory leak instances of the current snapshot and the comparison snapshot. If the item is an unmanaged resource, this column will be empty.

Additional Columns

The following columns are not included by default in any of the field sets. They can be included by customizing the columns.

•      Live bytes - Removed
This column shows the total number of bytes used by the removed live instances of the type or resource. If the item is an unmanaged resource and no size information is available, then this column will be empty.

•      Live bytes - Min
This column shows the minimum bytes used by a live instance of the type or resource. If the item is an unmanaged resource and no size information is available, then this column will be empty.

•      Finalized instances - Total
This column shows the number of instances that have been queued for finalization. If the item is an unmanaged resource, this column will be empty.

•      Finalized instances - Delta
This column shows the number of instances, between the selected snapshot and the comparison snapshot, that have been queued for finalization. If the item is an unmanaged resource, this column will be empty.

 

 

 

.NET Memory Profiler User Manual

© Copyright 2002-2009. SciTech Software AB.

For information about .NET Memory Profiler, see the product site at http://memprofiler.com

.NET Memory Profiler is developed by SciTech Software AB