当我们设置 Xmx 和 Xms 大小相等时会发生啥

Posted

技术标签:

【中文标题】当我们设置 Xmx 和 Xms 大小相等时会发生啥【英文标题】:What happens when we set Xmx and Xms equal size当我们设置 Xmx 和 Xms 大小相等时会发生什么 【发布时间】:2013-04-11 19:34:48 【问题描述】:

当我们将 Xms 和 Xmx 的值设置为相等时,对 FullGC 或 HotSpot 中年轻/终身代的分配有什么影响。

在 JRockit 中有什么不同吗?

【问题讨论】:

【参考方案1】:

将这两个参数设置为相同的值是最佳做法。它将阻止 JVM 调整堆的大小。主要影响是堆的所有其他部分,尤其是世代,不会因堆大小调整而改变。这允许更好地理解和配置堆。它还消除了由调整堆大小引起的暂停。 唯一不会这样做的情况是客户端 java 应用程序,它与许多其他应用程序竞争可用内存。在当今的用例中,您通常可以为 java 分配固定的内存块(例如在所有服务器应用程序中)

【讨论】:

但问题是对 FullGC 的影响是什么?当我们在 jRockit 中设置它时,它有什么不同

以上是关于当我们设置 Xmx 和 Xms 大小相等时会发生啥的主要内容,如果未能解决你的问题,请参考以下文章

JVM 三大性能调优参数-Xms -Xmx -Xss

jvm高手来啊,xms和xmx一样出现问题.

JVM内存调优

JVM调优-Xms -Xmx -Xmn -Xss

JVM故障问题排查心得「内存诊断系列」Xmx和Xms的大小是小于Docker容器以及Pod的大小的,为啥还是会出现OOMKilled?

JVM堆内存参数优化,让性能飞起来