Date: Fri, 29 Mar 2024 07:31:07 +0000 (GMT)
Message-ID: <407031302.599.1711697467402@ip-172-31-38-4.eu-west-1.compute.internal>
Subject: Exported From Confluence
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="----=_Part_598_940949533.1711697467401"
------=_Part_598_940949533.1711697467401
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Content-Location: file:///C:/exported.html
This page contains a description of the bas=
ic filters in ANTS Memory Profiler.
For a summary of how to use them, see Using filters to find objects.=
For a description of which filters are most useful, see Suggestions for using filters.
Comparing snapshots
Show objects in your current snapshot, based on the=
comparison with your baseline snapshot.
From the current snapshot show only new objects
Show only objects created between the baseline sn=
apshot and the current snapshot.
Use this filter to find objects that did not exis=
t in the baseline snapshot. This is useful if you want to understand why me=
mory usage has increased between the snapshots.
From the current snapshot show only surviving o=
bjects
Show only objects that remain in memory in both t=
he baseline snapshot and the current snapshot.
Use this filter to find objects that exist in bot=
h snapshots. This is useful if you want to look for objects which might be =
leaking in the current snapshot, because they should have been disposed bet=
ween the two snapshots.
From the current snapshot show only surviv=
ors in growing classes
Show only objects that match all of the following=
conditions:
- were present in the baseline snapshot
- are present in the current snapshot
- are instances of a class which has more instanc=
es in the current snapshot than in the baseline snapshot.
When this filter is applied, in the Class List, the Instance Diff column assumes that all =
instances in the baseline snapshot are potential survivors, and then calcul=
ates the difference between the number of survivors in the current snapshot=
and the number of potential survivors from the baseline snapshot. An insta=
nce diff of 0 means that all objects survived; an instance diff of -10 mean=
s that 10 objects that were in the baseline snapshot are not in the current=
snapshot.
Because only growing classes are included in this=
filter, the instance diff will never be a positive number.
This filter is particularly useful, because class=
es with an instance diff of 0 are good candidates for finding memory leaks =
(no instances of the class were disposed between the two snapshots).
From the current snapshot show =
only zombie objects
Show only objects that are still in memory in the=
current snapshot, even though there were indications in the baseline snaps=
hot that they would not survive.
This includes objects with the following characte=
ristics:
- Objects on which
Dispose()
has been called in the baseline snapshot, but which ar=
e still in memory in the current snapshot because garbage collection was pr=
evented for some reason
- Objects on the finalizer queue in the base=
line snapshot (this includes objects still on the finalizer queue in the cu=
rrent snapshot and objects which are no longer on the finalizer queue in th=
e current snapshot)
When this filter is applied, in the Class List, the Instance Diff column compares the numb=
er of objects on the finalizer queue in the baseline snapshot to the number=
of objects on the finalizer queue in the current snapshot. An instance dif=
f of -1 means that one object that was on the finalizer queue in the baseli=
ne snapshot is no longer on the finalizer queue.
This filter is useful because these objects shoul=
d not normally still be in memory in the current snapshot.
Show Only...
C=
lasses with source
Show only objects with source code.
Note that you should not normally use this filter=
when you start looking for the cause of a memory problem (see Understanding ANTS Memory =
Profiler).
<=
/strong>Objects on the large object / Gen 0 / Gen 1 / Gen 2 heap
Show only objects in the selected area of memory.=
Use this filter to understand how objects are all=
ocated in memory. Looking at objects on the Gen 2 heap may be especially he=
lpful, because these are the longest-surviving small objects.
You can also use this filter to investigate objec=
ts on the large object heap, which is useful if you have large object heap =
fragmentation.
Note that you will not normally see any objects o=
n the Gen 0 heap during profiling, because taking a snapshot forces a garba=
ge collection. For more information, see 'Understanding the small object he=
aps' in the .NET Memory =
Primer.
------=_Part_598_940949533.1711697467401--