这个容器在我的笔记本电脑上的 Docker 上运行良好,但在 Kubernetes 中运行时因 java.lang.OutOfMemoryError: Java heap space 崩溃。为什么?
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: mem-eater
spec:
template:
metadata:
labels:
# Refer to this name when defining a service.
app: mem-eater
spec:
containers:
# This is the docker image on your docker registry. This one is on
# the official Docker registry.
- image: neilhwatson/memory-eater:prod
name: mem-eater
Run Code Online (Sandbox Code Playgroud)
它尝试设置资源限制和请求,以及 JVM Xmx 限制,但在所有情况下,崩溃都是完全相同的。
其他信息:
您是否尝试过该-XX:+UseCGroupMemoryLimitForHeap选项?它告诉 JVM 使用 cgroup 提供的限制来确定堆大小(和其他资源限制)而不是系统范围的限制。
Christine Flood 写了一篇很棒的文章,介绍了在容器上使用 Java 时非常有用的一些标志:https : //developers.redhat.com/blog/2017/04/04/openjdk-and-containers/
| 归档时间: |
|
| 查看次数: |
4172 次 |
| 最近记录: |