April 23, 2020
Estimated Post Reading Time ~

AEM open CRX Session

Issue:
  • The system gets slower and slower
  • From time to time the system runs out of memory (after a few hours, days, or weeks - depending on the severity)
Cause:
  • If an application opens CRXSessions explicitely, make sure the proper closure of these sessions.
  • If not, such sessions will not be subject of garbage collection and thus will stay in memory, causing above listed symptoms.
  • Each CRXSession creates and maintains its own set of caches which adds to the overall resource consumption.
Analysis:
  • Run the following commands to determine the overall number of current CRXSessions held in memory: jmap -histo:live | grep CRXSessionImpl
  • The second column of the output is the instance count, which means that that many sessions are not closed (and actually reside in-memory).
  • If this number is significantly higher than 100, then there is a problem with CRXSessions in your application.
  • To see how many CRXSession objects are held in memory including those waiting to be garbage collected, run the command below: jmap -histo | grep CRXSessionImpl
  • This tells you how many session objects are in memory which are live or haven't been garbage collected yet.
Conclusion:
You can force a jvm full garbage collection by going to http://localhost:4502/system/console/memoryusageand clicking the "Run Garbage Collector" button.

After doing this, you can run the above command again a few times to see how quickly the number of session objects increases.


By aem4beginner

No comments:

Post a Comment

If you have any doubts or questions, please let us know.