gpt4 book ai didi

java - 内存不足时 Kubernetes 是否应该重新启动我的 JVM 应用程序?

转载 作者:行者123 更新时间:2023-11-30 07:02:36 33 4
gpt4 key购买 nike

我们在 Kubernetes 上部署了一个应用程序。其中一项服务是在 JVM 中运行的应用程序。

我们的应用程序有问题,它消耗了大量内存。我们达到了复制 Controller 中设置的限制,这使得它重新启动 Pod。

为此使用复制 Controller 是个好主意吗?或者限制 JVM 上的内存(将其设置为低于复制 Controller 限制)并使用 pod 内的其他内容来重新启动我们的应用程序是一个更好的主意吗?

如果 JVM 因内存不足异常而停止,我可以使用 JVM 写入的内存转储。现在我不知道是什么占用了内存。

感谢您的回复!

最佳答案

事实上这不是 Deployment/ReplicationController 的责任。重启是在 Pod 内部自行处理的。至于处理内存,这不是一个小问题,您应该在两个级别上控制它(例如堆大小等),以便您的应用程序避免达到限制,但如果它确实出现问题,pod 上的限制将处理它,这完全没问题(特别是如果您运行多个 pod,这样您就拥有 HA)。

这里的问题是,要很好地调整内存限制有点棘手,并且可能可以通过尝试和错误 + 监控 Pod/容器指标来完成最好的工作(Prometheus/Grafana 来救援:))。

关于java - 内存不足时 Kubernetes 是否应该重新启动我的 JVM 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40633591/

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