I would like to mention an additional requirement for JEPS 8182070 (
http://openjdk.java.net/jeps/8182070): avoid the JVM hitting container OOM
by strictly bounding the amount of (physical) memory that the JVM consumes.
This may be implicit in the document, but I think it should be made an
If a java application hits container OOM, no detailed diagnostics, such as
those associated with an OutOfMemoryError or a JVMTI resource exhaustion
event, are presented to the user, so the user finds it very difficult to
know how to fix the problem.
The Cloud Foundry OSS project has done quite a bit of work on this problem
and provides a couple of utilities which help when running a JVM in a
* Java memory calculator (, ) to determine JVM memory settings,
* jvmkill JVMTI agent () to report detailed diagnostics on a resource