我们是否应该在 kubernetes 容器中设置 -Xmx(最大 Java 堆大小)

亚当·休斯

TLDR;

为什么要麻烦设置-Xmx-Xmskubernetes 应用程序?


我们继承了一个出现内存不足错误的 kubernetes 应用程序。看起来初始开发人员设置了 kubernetes 资源限制(.95 CPU 核心和 4Gb 内存),如下所示。但是,他们还将最大堆大小设置JAVA_OPTS -Xmx为 800mb。

在此处输入图片说明

我已经找到了很多关于最佳设置的好材料-Xmx(例如这个),但找不到以下问题的直接答案:我们真的需要在 kubernetes 容器中设置-Xmx(更不重要的是-Xms)吗?我们已经对容器设置了硬限制resources,那么设置这些标志有什么意义呢?如果我们完全删除它们,结果会是什么?应用程序 GC 会更频繁吗?它会动态缩放堆大小还是将堆大小最大值固定在某个默认最大值(如 256MB)?是否有-Xmx与 kubernets 容器成比例设置的经验法则

托马斯

如果您没有设置最大堆大小,则行为取决于所使用的 Java 版本。当前的 JRE 支持确定容器限制并使用它来指导其内部启发式方法。

当使用旧版本运行时,用于堆的内存将根据容器可见的物理内存确定,这可能会过多。

请注意,达到容器的内存限制将导致终止进程并重新启动容器。

我建议您为 Xmx 和 Xms 使用从操作测试中确定的合理值以获得稳定的内存使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Java

如何在Docker容器中设置Java堆大小(Xms / Xmx)?

来自分类Dev

最大堆大小xmx如何影响Java中的内存分配/已用堆?

来自分类Dev

我们是否应该在Java中为Mongodb使用OGM / ORM之类的休眠模式?

来自分类Java

以编程方式设置最大Java堆大小

来自分类Dev

从Java转储计算Xmx设置和实际堆大小

来自分类Java

我们应该在Java中每行保留80个字符吗?

来自分类Java

如何设置Java(xmx),Linux(centos)的默认最大堆大小

来自分类Java

在Java中设置堆大小

来自分类Java

是否可以动态更改最大Java堆大小?

来自分类Dev

Tomcat抛出了“ java.lang.OutOfMemoryError:Java堆空间”,但是转储中的堆大小小于-Xmx

来自分类Java

设置最大和最小JVM堆大小是否相同?

来自分类Dev

设置Java / Tomcat堆大小(Xmx),而无需修改catalina.sh

来自分类Java

如何设置通过“ gradle run”启动的Java应用程序的最大堆大小(-Xmx)?

来自分类Java

增加Java中的堆大小

来自分类Dev

Java堆中最大的对象大小

来自分类Java

netbeans中的Java堆空间..但是我已经增加了堆大小!

来自分类Dev

Arquillian Suite扩展-我们是否应该在Suite中添加所有测试类

来自分类Dev

在Darknet中实施yolo时,我们是否应该在图像网络数据集上进行训练?

来自分类Dev

基于XX:printFlagsFinal不尊重Java最大堆大小(Xmx)

来自分类Java

如何增加Docker容器中的Java堆大小?

来自分类Dev

为什么我们不应该在 ComponentDidMount 中设置状态

来自分类Java

在Apache Karaf下设置Java堆大小

来自分类Dev

我们应该在switch语句中打破默认大小写吗?

来自分类Java

如何在hadoop集群中调整“ DataNode最大Java堆大小”

来自分类Java

我们应该在Java方法名后换行?

来自分类Java

为什么我们不应该在Java中使用受保护的静态

来自分类Dev

我们应该在Java Promise中选择async等待吗

来自分类Java

我们应该在Java中断言每个对象创建吗?

来自分类Java

为Weka增加Java中的堆大小

Related 相关文章

  1. 1

    如何在Docker容器中设置Java堆大小(Xms / Xmx)?

  2. 2

    最大堆大小xmx如何影响Java中的内存分配/已用堆?

  3. 3

    我们是否应该在Java中为Mongodb使用OGM / ORM之类的休眠模式?

  4. 4

    以编程方式设置最大Java堆大小

  5. 5

    从Java转储计算Xmx设置和实际堆大小

  6. 6

    我们应该在Java中每行保留80个字符吗?

  7. 7

    如何设置Java(xmx),Linux(centos)的默认最大堆大小

  8. 8

    在Java中设置堆大小

  9. 9

    是否可以动态更改最大Java堆大小?

  10. 10

    Tomcat抛出了“ java.lang.OutOfMemoryError:Java堆空间”,但是转储中的堆大小小于-Xmx

  11. 11

    设置最大和最小JVM堆大小是否相同?

  12. 12

    设置Java / Tomcat堆大小(Xmx),而无需修改catalina.sh

  13. 13

    如何设置通过“ gradle run”启动的Java应用程序的最大堆大小(-Xmx)?

  14. 14

    增加Java中的堆大小

  15. 15

    Java堆中最大的对象大小

  16. 16

    netbeans中的Java堆空间..但是我已经增加了堆大小!

  17. 17

    Arquillian Suite扩展-我们是否应该在Suite中添加所有测试类

  18. 18

    在Darknet中实施yolo时,我们是否应该在图像网络数据集上进行训练?

  19. 19

    基于XX:printFlagsFinal不尊重Java最大堆大小(Xmx)

  20. 20

    如何增加Docker容器中的Java堆大小?

  21. 21

    为什么我们不应该在 ComponentDidMount 中设置状态

  22. 22

    在Apache Karaf下设置Java堆大小

  23. 23

    我们应该在switch语句中打破默认大小写吗?

  24. 24

    如何在hadoop集群中调整“ DataNode最大Java堆大小”

  25. 25

    我们应该在Java方法名后换行?

  26. 26

    为什么我们不应该在Java中使用受保护的静态

  27. 27

    我们应该在Java Promise中选择async等待吗

  28. 28

    我们应该在Java中断言每个对象创建吗?

  29. 29

    为Weka增加Java中的堆大小

热门标签

归档