Java containers

Optimize Java containers with granular visibility

Java containers are becoming increasingly common in modern cloud environments. However, they also introduce challenges in managing these services due to their dynamic nature, which can be difficult for teams to handle effectively.

PerfectScale automatically detects Java containers and continuously analyzes them, delivering granular visibility into resource usage patterns over time. It also provides tailored optimization recommendations, eliminating the headaches of Java support and ensuring that your Java services remain efficient and maintain consistent performance.

Java usage visibility

When a Java container is detected, PerfectScale automatically starts collecting key JVM metrics. By continuously analyzing this data, PerfectScale delivers deep visibility into Heap, Non-Heap, and Garbage Collector usage patterns over time. By providing tailored, data-driven optimization recommendations, teams can seamlessly optimize resource utilization and cut cloud costs safely, ensuring their services remain efficient and maintain consistent performance.

Java containers resource utilization

When heap parameters are not set, the relevant indicator will appear under container flags, along with the calculated -Xms and -Xmx values.

Heap size is not set

PerfectScale respects explicitly set heap parameters when providing recommendations or applying automation.

When heap parameters are explicitly set, PerfectScale always respects them for resource recommendations and automation. The configured values are also displayed under the Container Flags section.

MaxHeapSize set

PerfectScale also provides detailed visibility into Garbage Collector time, helping teams better understand trends such as rising GC activity, correlate spikes with performance or latency issues, validate the impact of optimization changes, and plan capacity more effectively. By monitoring GC behavior alongside memory usage, teams can ensure Java workloads remain stable and efficient.

GC time

On the right side, you can also view additional Garbage Collector parameters, including the ActiveProcessorCount and GC type:

  • ZGC

  • ShenandoahGC

  • G1GC

  • ParallelGC

  • ParallelOldGC

  • ConcMarkSweepGC

  • SerialGC

The JVM maps millicores using the following logic: 1000m = 1 CPU, and 1001m = 2 CPUs

Disabling JVM metrics collection

To limit JVM metrics collection, you need to disable the deployment psc-coroot-node-agent when installing the PerfectScale Agent by adding the following parameter to the installation helm:

--set settings.corootNodeAgent.enabled=false

Last updated

Was this helpful?