1,java -X
在命令行输入java -X,可以列出Java允许输入的各种命令行参数,可以试一试。
2,启用JVM的各项参数
-XX:+PrintGCDetails -----打印出GC的详细信息
-verbose:gc -Xloggc:gc.log ---------将GC日志输出到gc.log文件中
-XX:+UseG1GC ------指定使用G1垃圾收集器,现在线上环境已经使用G1垃圾收集器了
G1的垃圾收集日志有自己的特点,如下所示:
Heap
garbage-first heap total 20480K, used 2048K [0x00000007bec00000, 0x00000007bed000a0, 0x00000007c0000000)
region size 1024K, 3 young (3072K), 0 survivors (0K)
Metaspace used 3099K, capacity 4496K, committed 4864K, reserved 1056768K
class space used 339K, capacity 388K, committed 512K, reserved 1048576K
以上表示总的堆空间为20M,已经使用了2M;每个region的大小为1M,其中年轻代使用了3M;元数据区已经使用了3M,
类空间已经使用了339K
-XX:+PrintGCApplicationStoppedTime
-XX:+PrintGCApplicationConcurrentTime -----------以上两个选项用来输出垃圾收集线程运行的停顿时间和应用线程的运行时间
-XX:+ConcGCTheads=4 ---------用来设置并发执行垃圾收集的线程数为4
-XX:G1HeapRegionSize=1M -----------设置一个region的大小为1M