Java 了解k8s中支持容器的JVM和内存限制

Java 了解k8s中支持容器的JVM和内存限制,java,kubernetes,memory,openj9,Java,Kubernetes,Memory,Openj9,本文认为, “容器支持”是向后移植到java8的,应该在OpenJDK8的最新版本中提供 如果我能很好地理解这篇文章 假设我们的k8s配置为 spec.containers[].resources.limits.memory:4Gi JVM不应该消耗超过4Gi的1/4,从而导致所有堆和非堆内存都消耗1Gi 如果我另外添加JAVA_选项 -XX:MaxRAMPercentage=90.0 然后90%的1Gi应该用于堆,10%用于非堆?好的,我发现MaxRAMPercentage=90.0没有在堆

本文认为,

“容器支持”是向后移植到java8的,应该在OpenJDK8的最新版本中提供

如果我能很好地理解这篇文章

假设我们的k8s配置为

spec.containers[].resources.limits.memory:4Gi

JVM不应该消耗超过4Gi的1/4,从而导致所有堆和非堆内存都消耗1Gi

如果我另外添加JAVA_选项
-XX:MaxRAMPercentage=90.0

然后90%的1Gi应该用于堆,10%用于非堆?

好的,我发现MaxRAMPercentage=90.0没有在堆和非堆之间拆分。它定义了JVM可以使用多少容器内存。(JVM可能有更多的进程)但是这个结果如何在堆和非堆之间共享,以及VM设置:Max.HEAP Size(估计值)如何从中计算出来?