JVM参数
-Xms
和 -Xmx
Xms和-Xmx,分别用于设置Java堆内存的刚开始的大小,以及允许扩张到的最大大小 对于这对参数,通常来说,都会设置为完全一样的大小。
-Xmn
:Java堆内存中的新生代大小,扣除新生代剩下的就是老年代的内存大小了
-XX:PermSize
和-XX:MaxPermSize
:分别限定了永久代大小和永久代的最大大小,通常这两个数值也是设置为一样的
- 比如说采用“java -jar”的方式启动一个jar包里的系统,那么就可以采用类似下面的格式:
java -Xms512M -Xmx512M -Xmn256M -Xss1M -XX:PermSize=128M -XX:MaxPermSize=128M -jar App.jar
-XX:MaxTenuringThreshold
:最大分代年龄限制,超过则进入老年代
-XX:PretenureSizeThreshold
大对象限制,大小超过此设置的对象直接进入老年代
-XX:SurvivorRatio
它定义了新生代中Eden区域和Survivor区域(From幸存区或To幸存区)的比例,默认为8,也就是说Eden占新生代的8/10,From幸存区和To幸存区各占新生代的1/10
G1
-XX:G1NewSizePercent
参数是用来设置新生代初始占比的,不用设置,维持默认值为5%即可。
-XX:G1MaxNewSizePercent
参数是用来设置新生代最大占比的,也不用设置,维持默认值为60%即可。
-XX:MaxGCPauseMills
,他的默认值是200毫秒 最大GC停顿时间
日志参数
-XX:+PrintGCDetils
打印详细的gc日志
-XX:+PrintGCTimeStamps
这个参数可以打印出来每次GC发生的时间
-Xloggc:gc.log
这个参数可以设置将gc日志写入一个磁盘文件