AEM_OPEN_CRXSession

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 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://:/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.  

No comments:

Post a Comment