JVM参数说明
转载于https://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html文章
JVM参数说明
-Xms:初始堆大小 默认值=物理内存的1/64,当空余的堆内存小于40%时,JVM就会增大堆直到-Xmx设置值
-Xmx:最大堆大小 默认值=无聊内存的1/4, 当空余堆内存大于70%时,JVM会将堆大小减少直到-Xms设置值
-Xmn:年轻代 整个堆大小=年轻代大小+年老代大小+持久代大小。 增大年轻代后,将会减少年老代大小,此
值对系统性能影响较大。Sun官方推荐配置为整个堆大小的3/8
-XX:NewSize: 年轻代
-XX:MaxNewSize: 年轻代最大值
-XX:PermSize 持久代初始值
-XX:MaxPermSize 持久代最大值
-Xss 每个线程的堆栈大小 JDK5以后每个线程的堆栈大小为1M,之前是256k。 在相同物理内存下,减小这个
值能生成更多的线程,但操作系统对一个进程中的线程数也是有限制的,3000-5000。一般小的应用,如果栈不
是很深,应该128k够用的,大的应用建议使用256k。这个值对性能影响比较大,需先测试
-XX:NewRatio 年轻代(包括Eden和两个Survivor)与年老代的比值 --XX:NewRatio=4表示年轻代与年老代所占
比值为1:4,年轻代占整个堆栈的1/5 。 当Xms=Xmx并设置了Xmn的情况下,该参数可以不设置
-XX:SurvivorRatio Eden区与Survivor区的大小壁纸 设置为8,表示两个Survivor区与一个Eden区的比值为2:8
一个Survivor区占整个年轻代的1/10
-XX:LargePageSizeInBytes 内存页的大小不可设置过大,会影响到perm的大小 一般值为128M
-XX:MaxTenuringThreshold 垃圾最大年龄。如果设为0的话,则年轻代对象不经过Survivor区,直接进入年老
代,对于年老代比较多的应用,则年轻代对象会在Survivor区进行多次复制,这会增加对象在年轻代的存活时间
增加年轻代被回收的概率,该参数只有在串行GC才有效
=========================
<jvm-arg>-Xms2048m</jvm-arg>
<jvm-arg>-Xmx2048m</jvm-arg>
<jvm-arg>-Xmn512m</jvm-arg>
<jvm-arg>-Xss1m</jvm-arg>
<jvm-arg>-XX:PermSize=256M</jvm-arg>
<jvm-arg>-XX:MaxPermSize=256M</jvm-arg>
<jvm-arg>-XX:SurvivorRatio=8</jvm-arg>
<jvm-arg>-XX:MaxTenuringThreshold=15</jvm-arg>
<jvm-arg>-XX:+UseParallelOldGC</jvm-arg>
<jvm-arg>-XX:GCTimeRatio=19</jvm-arg>
<jvm-arg>-XX:+PrintGCDetails</jvm-arg>
<jvm-arg>-XX:+PrintGCTimeStamps</jvm-arg>