java -Xmx3550m -Xms3550m -Xmn2g -Xss128k
-Xms3550m 设置jvm的初始化内存,此内存之可以与-Xmx的值相同,避免每次垃圾回收完后重新分配内存。
-Xmx3550m 设置jvm的最大内存值
-Xmn2g 设置年轻代大小为2g,整个jvm内存大小=新生代内存大小+年老代内存大小+持久代大小。持久代一般在64m,所以增大新生代内存后,年老代内存大小会随之减少。
-Xss128k 每个线程的堆栈大小,减少这个值能生成更多的线程,但操作系统对线程数量是有限制的,不能无限生成,在3000-5000左右
-Xx:NewRatio=4 设置年轻代和老年代内存大小的比值,包括Eden区和Survivor区。则年轻代与年老代的比值为1:4
-Xx:survivorRatio 设置年轻代中survivor区和eden的内存大小比值,则连个survivor区和一个eden区的比值为2:4
-XX:MaxPermSize=16m:设置持久代大小为16m。
-XX:MaxTenuringThreshold=0:设置垃圾最大年龄。如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代。对于年老代比较多的应用,可以提高效率。如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活时间,增加在年轻代即被回收的概论。