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左右。