Sometimes I see the OutOfMemoryError(GC overhead limit exceeded) error on our Pega environment. Unfortunantelly it is impossible to understand what is the root cause of this. So I decided to perform investigation of java memory dump when our Pega application works good and when it crashes.
So I have some questions - could you please provide the answers?
Q1: Which tools do you use to analize the memory dump for Pega Application? I started the investigation of the memory dump using Eclipse Memory Analyzer.
Q2: Do you have the common instruction how to analize the crash memory dump for Pega application? How to undestand which pages or objects take a lot of memory? How to separate Data Pages, Caches and unneeded ClipboardPages?
Q3: Is it possible to understand which thread / activity causes OutOfMemoryError?
Q4: Is it possible to see the content of Pega Clipboard? Which java classes store it?
Q5: Could you please provide the description and java sources for the following Pega classes: com.pega.pegarules.bootstrap.loader.PRAppLoader, com.pega.pegarules.priv.collections.map.ConcurrentMostRecentlyUsedMap, com.pega.pegarules.session.internal.mgmt.PRNodeImpl, com.pega.pegarules.session.internal.mgmt.PRThreadImpl, com.pega.pegarules.session.internal.mgmt.PRRequestorImpl, com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl?
Q6: When Pega application works good, 2 objects(com.pega.pegarules.bootstrap.loader.PRAppLoader and com.pega.pegarules.priv.collections.map.ConcurrentMostRecentlyUsedMap) take about 45% of heap. Is it normal?
Thank you in advance.
***Edited by Moderator Marissa to update platform capability tags****
There are no any PEGA0028 alerts in logs. I have thread dump created when OutOfMemoryError appears. So I started investigated it using Eclipse Memory Analyzer tool. May be you know the sequence of actions to find OutOfMemoryError root cause?