Java 当使用带有cgroup实验标志的`openjdk:11`或`openjdk:8`时,`-Xmx`仍然需要吗

Java 当使用带有cgroup实验标志的`openjdk:11`或`openjdk:8`时,`-Xmx`仍然需要吗,java,docker,Java,Docker,据 它表示JDK11在默认情况下已经使用了-XX:+UnlockExperimentalVMOptions-XX:+UseCGroupMemoryLimitForHeap 但是,我仍然收到一个错误137,当我输入free-h 是否仍然需要-Xmx来防止OOM错误?当JVM在容器(如docker容器)中运行时,这两个参数适用。这些参数限制容器内资源(CPU和内存)的使用 创建的对象/实例超过可用堆大小时,会发生内存不足(OOM)错误。以上两个参数限制堆大小。。。因此,如果您创建更多,您仍然会发现

它表示JDK11在默认情况下已经使用了
-XX:+UnlockExperimentalVMOptions-XX:+UseCGroupMemoryLimitForHeap

但是,我仍然收到一个错误
137
,当我输入
free-h


是否仍然需要
-Xmx
来防止OOM错误?

当JVM在容器(如docker容器)中运行时,这两个参数适用。这些参数限制容器内资源(CPU和内存)的使用

创建的对象/实例超过可用堆大小时,会发生内存不足(OOM)错误。以上两个参数限制堆大小。。。因此,如果您创建更多,您仍然会发现错误

这两个参数与限制堆大小(max和min)的Xmx和Xms选项无关。注意,JVM是VM的一种形式,您可以指定(至少在理论上)比可用内存(容器或主机)大的Xmx


我希望这能回答您的问题。

这两个参数适用于JVM在容器(如docker容器)中运行的情况。这些参数限制容器内资源(CPU和内存)的使用

创建的对象/实例超过可用堆大小时,会发生内存不足(OOM)错误。以上两个参数限制堆大小。。。因此,如果您创建更多,您仍然会发现错误

这两个参数与限制堆大小(max和min)的Xmx和Xms选项无关。注意,JVM是VM的一种形式,您可以指定(至少在理论上)比可用内存(容器或主机)大的Xmx

我希望这能回答你的问题