AEM_OSGI Configuration settings

Follow the adobe URL for the configuration changes respective to Production and Development server:
https://helpx.adobe.com/experience-manager/6-3/sites/deploying/using/osgi-configuration-settings.html

AEM DISK I/O _Running out of Disk Space issues

Issue:

  • Running out of diskspace,
  • Disk thrashing

Solution :

Apache Sling GET Servlet
Configure some aspects of rendering:
  • Auto Index to enable/disable directory rendering for browsing.
  • Enable (or disable) default renditions, such as HMTLPlain TextJSON or XML.
    You should not disable JSON.
Apache Sling Java Script Handler
Configure settings for the compilation of .java files as scripts (servlets).
 
Certain settings can affect performance, these should be disabled where possible, in particular for a production instance.
  • Source VM and Target VM, define the JDK version as that used as the runtime JVM
  • for production instances:
    • disable Generate Debug Info
Apache Sling JSP Script Handler
Configure performance relevant settings for the JSP script handler. To improve performance you should disable as much as possible.
 
In particular for production instances:
  • disable Generate Debug Info
  • disable Keep Generated Java
  • disable Mapped Content
  • disable Display Source Fragments
Adobe Granite HTML Library Manager
Configure this to control the handling of client libraries (css or js); including, for example, how the underlying structure is seen.
  • For production instances:
    • enable Minify (to remove CRLF and whitespace characters).
    • enable Gzip (to allow files to be gzipped and accessed with one request).
    • disable Debug
    • disable Timing
  • For JS development (especially when firebugging/debugging):
    • disable Minify
    • enable Debug to separate the files for debugging and use with firebug.
    • enable Timing in the case of interest in timing.
    • enable Debug console to see JS console log messages.
Day CQ WCM Debug Filter
  • Disable this on production instances to ensure performance and security.
This is useful when developing as it allows the use of suffixes such as ?debug=layout when accessing a page. For example, http://localhost:4502/cf#/content/geometrixx/en/support.html?debug=layout will provide layout information that may be of interest to the developer.
Day CQ WCM Filter
Configure:
  • WCM Mode to define the default mode.
  • On an author instance this might be editdisable,preview or analytics.
    The other modes can be accessed from the sidekick, or the suffix ?wcmmode=disabled can be used to emulate a production environment.
  • On a publish instance this must be set to disabled to ensure that no other mode is accessible.
Day CQ WCM Version Manager
Control if, and how, versions are managed in your system:
  • Create Version on Activation, enabled in a standard installation
  • Enable Purging
  • Purge Paths, the paths that a search action will search
  • Implicit Versioning Paths, the paths where implicit versioning is active.
  • Max Version Age, the maximum age (in days) of a version
  • Max Number Versions, the maximum number of versions to keep

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.