新生代和老年代分区是1:2
-XX:MaxPermSize:大部分是64M 永久代
-Xmx:物理内存的一半
-Xms:最好和-Xmx一样防止内存抖动
-Xmn:整个堆大小 = 年轻代大小 + 年老代大小 + 持久代大小Sun 官方推荐配置为整个堆的3/8
-Xverify:默认开启设置为none,可以加快来的加载速度,提高启动速度
-XX:+UseG1GC:默认关闭,JDK1.7中新的收集器
-XX:MaxHeapFreeRatio:默认值70
-XX:MinHeapFreeRatio:默认值70
常见调优:
-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn512m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC
-XX:MetaspaceSize=128m (元空间默认大小)
-XX:MaxMetaspaceSize=128m (元空间最大大小)
-Xms1024m (堆最小大小)
-Xmx1024m (堆最大大小)
-Xmn512m (新生代大小,一般设置为Xmx或者Xms的一半)
-Xss256k (棧最大深度大小)
-XX:SurvivorRatio=8 (新生代分区比例 8:2)
-XX:+UseConcMarkSweepGC (指定使用的垃圾收集器,这里使用CMS收集器)
-XX:+PrintGCDetails (打印详细的GC日志)
常见JAVA_OPTS的4G内存参数参考,ms和mx一样一般为物理内存的一半,Xmn年轻代一版为前两项的一半,MaxPermSize一版是永久代的大小,4g内存别超过256m
JAVA_OPTS="-server -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -ms2048m -mx2048m -Xmn1024m -Djava.awt.headless=true -XX:MaxPermSize=128m"