3 常用java虚拟机参数
-XX:+PrintGC 使用这个参数启动java虚拟机后,只要遇到GC,就会打印日志。
1996K->608K(125952K), 0.0023511 secs]
GC前已使用堆空间->GC后使用的堆空间(当前可用堆空间)
需要更加详细的信息,可以使用 -XX:+PrintGCDetails,在虚拟机退出之前打印堆的详细信息。
配置堆的参数
-Xms 指定堆初始空间的大小
-Xmx 指定最大堆空间
-Xmn 设置新生代的大小。新生代的大小一般设置为整个堆空间的1/3到1/4。
-XX:SurvivorRatio用来设置新生代中eden空间和from/to空间的比例关系。含义如下
-XX:SurvivorRatio=eden/from=eden/to
例如
-Xmx20m -Xms20m -Xmn1m -XX:SurvivorRatio=2 -XX:+PrintGCDetails
eden和from比例为2:1,则eden区大小为512KB,可用新生代为768KB,新生代总大小为1m。
设置新老年代比例
-XX:NewRatio=老年代/新生代
例如
-Xmx20m -Xms20m -XX:NewRatio=2 -XX:+PrintGCDetails
起始队大小为20m,所以新生代大小为20m*1/3=6m左右。