Long garbage-collection time for AEM publish instance | Community
Skip to main content
New Participant
Aug 19, 2020 9:45 PM UTC
Solved

Long garbage-collection time for AEM publish instance

Hello everyone,

I am facing issues with my publisher, where it takes long GC time and it is suspending process. What could be the reason behind this? Any pointers/idea?

When I look at usage score of heap memory allocation via http://<publisher>:4503/system/console/memoryusage, found that

1. PS Eden space - 75%
2. PS Survivor space - 0%
3. PS Old gen - 99%

 

What could have been wrong happening here? Any pointers!

 

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
aemmarc2Accepted solution
Employee
Aug 20, 2020 1:37 PM UTC

Long thread pause times strongly indicate that your Java heap is suffering from consecutive FullGC cycles unable to reclaim any space from OldGen.

 

You will need : 

1) gc.logs (if you have them) -- then you can use something like GCEasy (http://gceasy.io/) to visualize the heap state across time. This tool is great.

2) assuming there is FullGC running consecutively, you will need to capture an HPROF file. Then you can use Eclipse Memory Analyzer (or comparable tool) to analyze the heap.  Eclipse MAT will give you a LeakSuspects report to use as a starting point to understand what is in memory. From there you can deduce why Java can't reclaim space. Often it's an accrual of unclosed resource-resolvers or something like that. 

 

In a nutshell - if you are suffering from consecutive fullGC and long thread pause times you either 

a) have a memory leak which you can figure out from an hprof capture

or 

b) the aem instance is undersized

 

Good luck

2 replies

aemmarc2Accepted solution
Employee
Aug 20, 2020 1:37 PM UTC

Long thread pause times strongly indicate that your Java heap is suffering from consecutive FullGC cycles unable to reclaim any space from OldGen.

 

You will need : 

1) gc.logs (if you have them) -- then you can use something like GCEasy (http://gceasy.io/) to visualize the heap state across time. This tool is great.

2) assuming there is FullGC running consecutively, you will need to capture an HPROF file. Then you can use Eclipse Memory Analyzer (or comparable tool) to analyze the heap.  Eclipse MAT will give you a LeakSuspects report to use as a starting point to understand what is in memory. From there you can deduce why Java can't reclaim space. Often it's an accrual of unclosed resource-resolvers or something like that. 

 

In a nutshell - if you are suffering from consecutive fullGC and long thread pause times you either 

a) have a memory leak which you can figure out from an hprof capture

or 

b) the aem instance is undersized

 

Good luck

Translate
SundeepKatepally
New Participant
Aug 20, 2020 3:05 AM UTC

Get the thread dump and use any of the analyzers to get more details.

Translate