我们已经对 JVM (Scala) 应用程序 Java 1.7 进行了 docker 化,并且正在尝试决定如何分配内存。我们在 docker 容器中运行了一个应用程序。如果 docker 容器分配了 4GB 的 RAM,我们是否应该为 JVM 分配 4GB(或者为了安全起见可能少一点)?
据我了解,除了从入口点调用的进程外,docker 容器内没有运行其他进程,因此我们不必担心非 JVM 内存使用情况——是这样,还是过于简化了?我们还应该问其他问题吗?
编辑我们正在使用 Mesos/Marathon 来部署 docker 镜像 - 我相信它确实对内存设置了 cgroup 限制(至少,它给人的印象是这样)但我绝对可以错了。
最佳答案
我有同样的场景,我使用 90% 的保留内存给 jvm,并且工作得很好
关于java - Docker (LXC) 容器中的 JVM 内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27630451/