如何设置JVM内存分配比例

Posted 泡^泡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何设置JVM内存分配比例相关的知识,希望对你有一定的参考价值。

jvm内存大小的设置可以参照Java Performance里面推荐公式来进行设置。

解释说明

  • java整个堆大小设置:Xmx和Xms设置为老年代存活对象的3-4倍,即FullGC之后的老年代内存占用的3-4倍。
  • 永久代PermSize和MaxPermSize设置为老年代存活对象的1.2-1.5倍。
  • 年轻代Xmn的设置为老年代存活对象的1-1.5倍。
  • 老年代的内存大小设置为老年代存活对象的2-3倍。
  • BTW:
    Sun官方建议年轻代的大小为整个堆的3/8左右,,所以按照上述设置的方式,基本符合Sun的建议。
    堆大小=年轻代大小+年老代大小, 即xmx=xmn+老年代大小 。 Permsize不影响堆大小。
    为什么要按照上面的来进行设置呢? 没有具体的说明,但应该是根据多种调优之后得出的一个结论。

以上是关于如何设置JVM内存分配比例的主要内容,如果未能解决你的问题,请参考以下文章

jvm参数设置

三:JVM对象创建与内存分配机制深度剖析

JVM内存分配与回收

JVM调优—GC调优

如何设置JVM参数

JVM 进程如何分配其内存?