1、-Xms2048M -Xmx2048M
堆内存:最小1024M,最大1536M。(对象使用的内存)
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64 JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4 默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制。 因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。对象的堆内存由称为垃圾回收器的自动内存管理系统回收。
2、-XX:PermSize=256M -XX:MaxPermSize=512M
永久内存:最小128M,最大256M。(类使用的内存,PermGen) JDK8中用metaspace代替permsize,因此在许多我们设置permsize大小的地方同样需要修改配置为metaspace 将-XX:PermSize=200m;-XX:MaxPermSize=256m;修改为:-XX:MetaspaceSize=200m;-XX:MaxMetaspaceSize=256m;
JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64; 由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。
3、-Xmn2G
设置年轻代大小为2G。
4、-XX:NewRatio=2
新生代和老年代的比例。 JDK8默认的:新生代 ( Young ) 与老年代 ( Old ) 的比例的值为 1:2, 即:新生代 ( Young ) = 1/3 的堆空间大小;老年代 ( Old ) = 2/3 的堆空间大小。
5、-XX:SurvivorRatio=8
新生代中Eden区域和Survivor区域(From幸存区或To幸存区)的比例,默认为8,也就是说Eden占新生代的8/10,From幸存区和To幸存区各占新生代的1/10
6、-XX:+UseParalledlOldGC
设置并行年老代收集器
7、-XX:+UseConcMarkSweepGC
设置并发收集器
后续补充。。。