Troubleshooting using system console in AEM

This blog we will go through the steps that we can take to troubleshoot AEM instance.

Methods for Troubleshooting Analysis

  1. Making a Thread Dump

  2. Checking for open JCR sessions

  3. Using the Adobe Experience Manager Web Console

Making a Thread Dump

The thread dump is a list of all the Java threads that are currently active. If AEM does not respond properly, the thread dump can help you identify deadlocks or other problems.

Using Sling Thread Dumper

  1. Open the AEM Web Console; for example at http://localhost:4502/system/console/.

  2. Select the Threads under Status tab.

Using jstack (command line)

  1. Find the PID (process id) of the AEM Java instance. For example, you can use ps -ef or jps.

  2. Run: jstack <pid>

  3. This will show the thread dump.

Append the thread dumps to a log file by using the >> output redirection:

jstack <pid> >> /path/to/logfile.log

Checking for open JCR sessions

When functionality is developed for AEM WCM, JCR Sessions may be opened (comparable to opening a database connection). If the opened sessions are never closed, your system may experience following symptoms:

  • The system becomes slower.

  • You can see a lot of CacheManager: resizeAll entries in the log file; the following number (size=<x>) shows the number of caches, each sessions opens several caches.

  • From time to time the system runs out of memory (after a few hours, days, or weeks - depending on the severity).

Using the Adobe Experience Manager Web Console

The status of the OSGi bundles can also give an early indication of possible issues.

  1. Open the AEM Web Console; for example at http://localhost:4502/system/console/.

  2. Select Bundles under OSGI tab.

  3. Check:

  • the Status of the bundles. If any are Inactive or Unsatisfied, then try to stop and restart the bundle. If the issue persists then you may need to investigate further using other methods.

  • whether any of the bundles have missing dependencies. Such details can be seen by clicking on the individual bundle Name.

7 views0 comments

Recent Posts

See All

GraphQL - A query language for API - Part 1

Have you recently started hearing about GraphQL and wondering what is it all about? Here is a short introduction to get you up to speed. So, lets start with What is GraphQL? In simple words, its a que

"this" in javascript

Here we will talk about this keyword in javascript and how it is different from any other javascript object. "this" is and current context object in runtime engine, but unlike any other object the pro