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.

The details of a type or resource can be viewed by double-clicking an item in the list that will bring up the Type/Resource Details page. The items can be sorted by clicking on the column headers and filtered using the column filter at the top row.

The information presented for each item depends on the selected field set.

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:

*    Managed type

    Unmanaged resource

•      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.

•      Total - Live instances
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.

•      New - Live instances
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 Total (Live instances) value, since there are no previous instances.

•      Removed - Live instances
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.

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

Standard View

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

•      Total - Instance Sizes
This column shows the total size of 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.

•      Max  - Instance Sizes
This column shows the maximum size of 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.

•      Min - Instance Sizes
This column shows the minimum size of 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.

•      Delta - Instance Sizes
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 Total (Instances Size) 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 View

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

•      Total - Disposed instances
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.

•      New - Disposed instances
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 Total - Disposed instances value, since there are no previous instances. If the item is an unmanaged resource, this column will be empty.

•      Removed - Disposed instances
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.

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

•      Total - Undisposed instances
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.

•      Delta - Undisposed instances
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 View

If the Heap Utilization view 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
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, 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.

Memory Leaks View

If the Memory Leaks view 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.

 

 

.NET Memory Profiler User Manual

© Copyright 2002-2008. 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