Date: Thu, 28 Mar 2024 10:31:16 +0000 (GMT)
Message-ID: <1817675735.389.1711621876183@ip-172-31-38-4.eu-west-1.compute.internal>
Subject: Exported From Confluence
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="----=_Part_388_250066447.1711621876180"
------=_Part_388_250066447.1711621876180
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Content-Location: file:///C:/exported.html
Before you can fix a memory problem, you ne=
ed to identify which kind of memory problem you have.These are the problems you're most likely to encount=
er, with a list of symptoms to help you recognise them:
Problem: Large object h=
eap fragmentation
Symptoms:
- There is=
a lot of memory allocated to your application which isn't being used (ie h=
asn't been committed).
- =
span>OutOfMemory exceptions are thrown, although there's stil=
l spare space on the .NET heap. The exception is thrown unpredictably.
- The Memory fragmentation section on th=
e summary page suggests you =
may have a problem with fragmentation.
Problem: Unmanaged memory leaks<=
/strong>
Symptoms:
- Performa=
nce degrades while the application runs. Performance recovers when the appl=
ication restarts, and then degrades again.
- On the <=
/span>timeline, the number of private bytes increases more quickly =
than the number of bytes in the .NET heap.
- Somethin=
g other than the CLR is using a lot of unmanaged memory. Unmanaged memory u=
sage grows or stays constant, even when your application has finished using=
unmanaged modules.
Problem: Managed memory leaks <=
/strong>
Symptoms:
- Performa=
nce degrades while the application runs. Performance recovers when the appl=
ication restarts, and then degrades again.
- The numb=
er of bytes in the .NET heap increases continually over time.
- Memory u=
se increases whenever you carry out a specific action. Memory use doesn't g=
o back to the same level after the action is complete.
Problem: Excessive overall mem=
ory usage
Symptoms:
- Every application has different memory usage and=
requirements, so there's no standard amount that is "too much" memory.
- Users may notice that the application is using m=
ore memory than they expect, especially in memory-critical environments.
If you aren't familiar with memory profiling, you m=
ight find our .NET Memor=
y Primer useful before you start.
------=_Part_388_250066447.1711621876180--