Search Results for

    Show / Hide Table of Contents

    Overview Page

    The Overview page is the main snapshot view. After a heap snapshot has been collected, it shows information about all managed types and native 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.

    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.

    Filters Table

    The Filters table presents a list of saved instance and allocation filters. Just as with the Types/Resources table, the details of a filter can be viewed by double-clicking or selecting the Show details command, which will bring up the Filter details view. For more information about instance and allocation filters, see Instance and Allocation Filters.

    Table Columns

    The information presented for each item depends on the selected field set and information available in the current snapshot comparison. The included columns can also be customized using column customization.

    The following information is available in the Types/Resources table:

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

    This column is only available in the Types/Resource table

    • 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. This column is only available in the Types/Resources table

    • 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). This column is only available in the Types/Resource table

    • Name/Resource
      If the item is a managed type, this column shows the name of the type. If the item is a native resource, this column shows the name of the resource. If the item is a filter, this column is merged with the Namespace column, and shows the name of the filter.

    The following columns are available for most types, resources, and filters:

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

    • Live instances – Held
      This column shows the total number of instances held by all live instances of the type or filter. For more information about held bytes, see Held and Reachable Instances.

    • 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 a native 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 a native 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 a native 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 a native resource and no size information is available, this column will be empty.

    • Live bytes - Held
      This column shows the total number of bytes held by all live instances of the type or filter. For more information about held bytes, see Held and Reachable Instances.

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

    If a type is disposable, or a filter includes disposable instances, the following information is also available:

    • 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 a native 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 a native 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 a native resource, this column will be empty.

    • Disposed instances – Delta
      This column shows the difference between New and Removed disposed instances. If the item is a native 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 a native 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 a native resource, this column will be empty.

    If heap utilization tracking is enabled, the following additional information is available:

    • 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 a native resource, this column will be empty.

    Unreachable instances information is available when a gen #0 snapshot collection has been performed, when attaching to a process using the inspection only attach, when importing a memory dump, or when viewing a peak snapshot. It is presented using the following columns:

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

    When viewing a peak snapshot, information about instances that existed at time the garbage collection was initiated is presented in the following columns:

    • Collected – Instances
      This column shows the number of instances that were collected by the garbage collection.

    • Collected – Bytes
      This column shows the number bytes used by instances that were collected by the garbage collection.

    • Total (before GC) – Instances
      This column show the number of instances that existed on the managed heap, before the garbage collection. This number is the sum of Live instances, Unreachable instances, and Collected instances.

    • Total (before GC) – Bytes
      This column show the number bytes that existed on the managed heap, before the garbage collection. This number is the sum of Live bytes, Unreachable bytes, and Collected bytes.

    The following columns provide information about potential memory leaks detected by using the .NET Memory Profiler API. They are included by default if the Memory Leaks field set is selected.

    • 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 a native 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 a native resource, this column will be empty.

    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 a native 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 a native 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 a native 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 a native resource, this column will be empty.

    ­

    In This Article
    Back to top

    © Copyright 2002-2020. SciTech Software AB.
    For information about .NET Memory Profiler, see the product site at https://memprofiler.com