Kubernetes rightsizing that understands Java
Why StormForge for JVM optimization?
0 manual heap tuning required
GitOps ready
Any Java Virtual Machine
Rightsizing built around how Java actually behaves
StormForge collects metrics from inside the JVM, not just the container, so recommendations account for the full picture of how your Java workloads use memory.
- JVM-aware recommendations – heap size and container limits set together, in the right ratio
- OOM response – automatically increases memory when an OOM event occurs and learns to prevent recurrence
- GitOps native – works with ArgoCD and Flux via admission webhooks, no manifest changes needed
- Supports any JVM language – Java, Kotlin, Scala, Groovy
Build trust in automation across your whole team
Automated rightsizing only works if developers trust it. StormForge gives platform teams the visibility and reporting to earn that trust, and the controls to roll out at their own pace.
- Start with recommendations, not automation – validate suggested changes in the dashboard before applying anything
- Dedicated Java visibility – a purpose-built view shows heap usage history, GC behavior, and how recommendations compare to current settings
- OOM trend reporting – track out-of-memory incidents declining over time
- Gradual rollout controls  – move individual workloads to auto-deploy as confidence grows
Eliminate OOMkills and overspend while reducing manual work
With full JVM visibility, StormForge can cut deeper than generic tools while actually improving reliability. No more choosing between saving money and avoiding outages.
- Eliminate OOMkills – recommendations are built on what the JVM actually needs, not container-level guesses
- Cut overprovisioning – removing memory waste reduces node requirements and cloud spend
- Free up platform teams – stop fielding Java tuning tickets; StormForge handles it continuously across every service
Less waste. Fewer incidents. No manual tuning.
Get started for free
Ready to learn more?
Kubernetes Resource Management: StormForge’s Machine Learning Approach
Since Google released it to the open-source community ten years ago, Kubernetes has quickly become a cornerstone technology for orchestrating and managing software containers and microservices. According to a Cloud Native Computing Foundation (CNCF) survey, Kubernetes is used in 96% of global businesses, and its adoption rate is not slowing down. Despite its widespread adoption […]
Bill-Accurate Kubernetes Cost Allocation, Now Built Into CloudBolt
CloudBolt is introducing granular Kubernetes cost allocation directly within the platform, now available in private preview. This new capability delivers bill-level accuracy down to the container, intelligently allocates shared costs, and integrates natively with enterprise chargeback. If you’d rather see it than read about it, start with a quick walkthrough of the experience: Here’s what […]
How Acquia cut web node infrastructure by 65% with continuous Kubernetes rightsizing
Acquia modernized a platform that previously ran on roughly 26,000 EC2 nodes by moving to Kubernetes. The goal wasn’t just containerization—it was elastic scaling for traffic spikes without relying on fixed “small/medium/large” sizing. Results at a glance 65% reduction in web node footprint 99.99% availability delivered consistently 26,000 EC2 nodes as the legacy baseline modernized […]
FAQs
-
Why is rightsizing Java workloads in Kubernetes so difficult?
Java memory behavior is invisible to standard tools. Heap usage, garbage collection pressure, and off-heap memory don’t show up in container-level metrics. Getting it right requires visibility into the JVM itself, which most rightsizing tools simply don’t have.
-
How does StormForge adjust max ram percentage?
StormForge can either patch the JVM argument directly or adjust limits to constrain the max-heap-percentage for teams that don’t have access to the arguments directly
-
What causes Java containers to crash with out-of-memory errors?
When total memory use (heap plus off-heap) exceeds the container’s Kubernetes memory limit, Kubernetes kills the container. StormForge accounts for all memory consumers when generating recommendations, and automatically increases memory if an OOM event does occur.
-
How does StormForge make recommendations safer for Java workloads?
By collecting metrics from inside the JVM, StormForge can see heap usage, garbage collection patterns, and off-heap consumption, giving it enough context to recommend settings that are both cost-efficient and reliably safe. Teams can also review recommendations before enabling automatic application, which helps build confidence with developers who are skeptical of automated changes.
-
Does StormForge work with Kotlin, Scala, and other JVM languages?
Yes. StormForge ingests JMX metrics, so it works with any JVM-based language: Java, Kotlin, Scala, and Groovy.
-
How does StormForge fit into a GitOps workflow?
StormForge applies recommendations via Kubernetes admission webhooks, without touching deployment manifests or GitOps config (fully compatible with ArgoCD, Flux, and standard Kubernetes pipelines).
-
How do I get started?
Install the StormForge agent on your cluster and it begins surfacing JVM-aware recommendations within minutes. Start in review mode to explore recommendations before applying anything, then enable auto-deploy when you’re ready. A free trial is available directly from the CloudBolt website.