JVM monitoring and analysis


This section includes the following information:

The fine tuning of JVM runtime behavior includes: Metaspace allocation (Permsize allocation for pre-jdk1.8), garbage collector selection, heap size allocation, and miscellaneous load planning. This fine tuning is necessary in any web application deployment because non-optimal JVM configurations may result in the following:

  • The Garbage Collection (GC) cycle occurring frequently or taking too long, thus consuming CPU cycles that would otherwise be available to service application users
  • Memory allocation not being used correctly causing false tenuring thus creating excessive GC
  • Memory over allocated causing the OS to swap which adds delays to service time of HTTP requests
  • Memory being insufficiently allocated, thus causing excessive GC and JVM instability

This fine-tuning process is necessarily iterative: monitor, adjust, re-monitor, compare, and validate improvements. This is a standard process for runtime behavior adjustment. There is no shortcut to this iterative process, and no fixed recommendation can achieve a similar optimal result given the various hardware and changing nature of user load.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*