首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否存在与Openshift/Kubernetes中的“限制”不同的“初始内存分配”?

是否存在与Openshift/Kubernetes中的“限制”不同的“初始内存分配”?
EN

Stack Overflow用户
提问于 2021-11-04 16:03:01
回答 2查看 57关注 0票数 0

在java中,有最小堆空间( -Xms)和最大堆空间( -Xmx)。最小堆空间从一开始就分配给JVM,“最大堆空间”是JVM在到达它时会说“超出堆空间”的限制。

Openshift/Kubernetes中的pod是否有不同的值(initial和limit),或者由于某种原因,初始内存分配总是等于limit?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-08 08:56:45

对于现代的Java版本(支持+UseContainerSupport的版本),K8s或Openshift Pod中的堆分配依赖于容器可用的内存。

这完全由"containers.resources.limits.memory“值决定(正如您推测的那样)。其他值,例如"containers.resources.requests.memory“不会在其中起作用。如果没有设置资源限制,则相应集群节点的整个内存将用于初始堆大小的人体工程学,这是OOM杀死的可靠配方。

票数 1
EN

Stack Overflow用户

发布于 2021-11-05 12:25:56

在K8s中,资源被定义为请求和限制。该请求是针对初始分配的,当pod达到内存限制时,它将获得OOMKILLED,然后将重新启动,因此我认为它的行为与您所描述的相同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69842248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档