gpt4 book ai didi

java - 具有 JVM 的 docker 容器的完整内存利用率

转载 作者:行者123 更新时间:2023-11-30 05:42:27 25 4
gpt4 key购买 nike

我们有一个基于 Java 的微服务应用程序在 docker 容器中运行。由于服务需要不同的内存设置,因此我们必须指定 Docker 容器和 JVM 的内存限制 (-Xmx)。

我知道 Java 从 Java 10 开始就支持容器,但这意味着只有某些选项会考虑容器的资源限制。

我的问题是有什么设置可以让JVM充分利用容器的可用内存吗?例如,如果容器有 1GB,那么 JVM 通过在其堆和非堆内存(堆栈、类等)之间最佳地共享此内存来利用它。

最佳答案

没有神奇的标志可以为您调整 Java 内存的大小。一个微服务的工作负载可能与另一个微服务不同,并且需要不同的内存配置。

您必须手动设置 -Xms-Xmx 和其他参数。如果未设置,JVM 将使用默认值,例如-Xmx 将默认为可用 RAM 的 25%。

Java 8 和 9 仅具有 +XX:+UseContainerSupport,但 since Java 10现在这是默认行为。此选项使 JVM 尊重容器施加的资源限制,但不会自动扩展内存。

关于java - 具有 JVM 的 docker 容器的完整内存利用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55415580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com