-Xms :初始Heap大小
-Xmx :java heap最大值
将JVM最大内存与初始内存设置相等(-Xmx和-Xms 相同),以避免每次垃圾回收完成后JVM重新分配内存。
-Xmn :(young generation)年轻代的heap大小
年轻代Sun官方推荐配置为整个堆的3/8,通常设置为1/3或1/4;
-Xss :每个线程的堆栈大小,JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。根据应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。
整个JVM内存大小=年轻代(Eden区)大小 + 年老代(olden区)大小 + 持久代(静态资源区)大小。
-XX:NewRatio=4:设置年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)。设置为4,则年轻代与年老代所占比值为1:4,年轻代占整个堆栈的1/5。
-XX:SurvivorRatio=4:设置年轻代中Eden区与Survivor区的大小比值。设置为4,则两个Survivor区与一个Eden区的比值为2:4,一个Survivor区占整个年轻代的1/6。
-XX:MaxPermSize=16m:设置持久代大小为16m。
-XX:MaxTenuringThreshold=0:设置垃圾最大年龄。如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代。对于年老代比较多的应用,可以提高效率。如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活时间。