Long garbage-collection time for AEM publish instance | Community
Skip to main content
August 19, 2020
Solved

Long garbage-collection time for AEM publish instance

  • August 19, 2020
  • 2 replies
  • 2740 views

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.
Best answer by aemmarc2

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

SundeepKatepally
Community Advisor
Community Advisor
August 20, 2020

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

aemmarc2Adobe EmployeeAccepted solution
Adobe Employee
August 20, 2020

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