Symptoms

Some process are really slow, but not blocking.  The server OS shows high CPU utilization from the AEM java process.

Cause

There are many possible causes for high CPU utilization, here are a few:

  • Inefficient application code
  • Traversal of large content structures
  • High application memory utilization causing a lot of time spent in JVM Garbage Collection

Analysis, Resolution

Using the built-in CPU profiler

A simple CPU profiling tool is included in AEM 6.x.

  1. Open this URL: http://aem-host:port/system/console/profiler
  2. Expand "Options"
  3. Set the "Sample Interval (ms)" (or use the default)
  4. Set the "Stack trace depth" (recommended value : at least 50)
  5. Click "Start Collecting"
  6. Wait 3-10 minutes to collect data while CPU utilization is high
  7. Click "Stop" to collect the data (output is shown on the same page)

The profiler collects stack traces of running threads (threads actively taking CPU time).  While collecting the stacks, it finds duplicate traces and sorts them from most common to least common.

Applies To

CQ 5.6.1, AEM 6.x

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea