I have a java application that threw an out of memory on SUD incident. When looking at the memory dump, there was stil a large amount of memory available still. I was wondering what the conditions need to be for this alert to trigger or if someone could provide more insight?
Answer by Michael K. ·
This typically happens when the heap gets exhausted by "temporary" objects allocated and referenced by active transactions/threads. Once the OOM kicks in those threads/transactions get aborted and subsequently they no longer reference the objects that triggered the OOM.
The screen shot states that a GC was triggered, if that is done by dynaTrace, you should file a support ticket to change this. an OOM triggered Heap Dump should not trigger GC.
If this is done by the JVM, then we cannot change this.
A workaround for the second usecase is to define an incident based on either high heap memory or high number of GC invocations and trigger a trending dump (with GC turned off). that would give you an idea of the objects in memory and should be able to tell you the perpetrator.
JANUARY 15, 3:00 PM GMT / 10:00 AM ET