在docker容器中设置jvm -XX:MaxRamPercentage=80

问题描述 投票:0回答:1

0

我正在运行一个 docker 容器,并且 docker 文件中有

CMD ["java", "-XX:MaxRAMPercentage=80", "-jar", "imgretrieval.jar"]
。当我使用
docker run imageName
运行 docker 时,我可以看到该值被传递到 docker 容器,我已附加 ps- ef

的图像

enter image description here

但是当我检查 jvm 标志时,它们没有更新。请看下图: enter image description here

我也尝试过 JAVA_OPTS ,它仍然给出相同的行为。任何帮助将不胜感激。 我的要求是使 MaxRamPercentage 可配置,以便可以通过 rancher 中的 env 变量传递

java docker dockerfile jvm rancher
1个回答
0
投票

原因是

-XX:+PrintFlagsFinal
仅适用于特定的 Java 运行。它不显示任何其他 java 进程的标志,并且当您使用
-XX:MaxRAMPercentage=80
调用 java 时没有指定
-XX:+PrintFlagsFinal
,它显示默认值 25%。

© www.soinside.com 2019 - 2024. All rights reserved.