Java containers
Optimize Java containers with granular visibility and tailored recommendations
Enabling JVM metrics collection
Coroot supports only Linux nodes.
Once the Coroot agent is installed, PerfectScale starts identifying Java containers running in your Kubernetes environment and collecting JVM metrics from them. By continuously analyzing them, PerfectScale provides granular visibility into resource usage, identifying potential bottlenecks. Based on this analysis, PerfectScale generates tailored recommendations to help ensure that your services remain efficient and maintain consistent performance.
Deploy coroot pods to specific nodes
If your cluster includes both Linux and Windows nodes, make sure to set a nodeSelector for Linux when deploying workloads that are not Windows-compatible.
YAML values file example:
coroot:
nodeSelector:
kubernetes.io/os: linuxHelm command example:
helm upgrade --install perfectscale ..... \
--set coroot.nodeSelector."kubernetes\.io/os"=linux \
perfectscale/exporterTo restrict workloads to a specific set of nodes (for example, those labeled component=java), you can combine multiple node selectors.
YAML values file example:
Helm command example:
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.

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

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.

When recommendations exceed the MaxHeapSize or fall below the MinHeapSize, Automation will not apply the recommendation to ensure that explicitly set values are respected. The relevant tooltip will be displayed.
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.

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
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:
Last updated
Was this helpful?