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
|