How the JVM Finally Plays Nice with Containers

Cargo crane
Cargo crane
Photo by Bernd Dittrich on Unsplash

It’s been a pretty busy time at, but Joe and I have finally found time to write a follow-up to our outdated-but-still-interesting article JVM Memory Settings in a Container Environment. You might want to read it for a more in-depth view how memory management in the JVM works and what happens — or used to happen — if the JVM runs in a container.


Java 10 introduced +UseContainerSupport (enabled by default) which makes the JVM use sane defaults in a container environment. …

The Bare Minimum You Should Know Before Going Live

Photo by Kyle Ryan on Unsplash

UPDATE: Things Have Changed for Java 8u191+ and 10+

A lot has changed since Java 8u191 and things should work out of the box. So this article is partly out-of-date. We’re keeping it online as a reference but please see our follow-up article +UseContainerSupport to the Rescue for more details.

Joe and I both do a lot of work with Java on OpenShift/Kubernetes. Joe has a very strong operations background and I feel more at home with software development — yet we often do similar stuff. We also like to work together and this article is the result of one particularly interesting discussion about the JVM setting +UseCGroupMemoryLimit. …

Roman Ataman

software developer & architect

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store