JDK1.8垃圾回收器的选择
参考资料https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/toc.html
使用默认的垃圾回收
查看垃圾回收和JVM配置
-XX:UseParallelGC
在默认情况下,会开启-XX:UseParallelGC参数,此时,新生代使用了Parallel New ,老年代使用了Parallel Old。
#!/bin/bash
java -Djava.rmi.server.hostname=IP地址 \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=1098\
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Xmx12G -Xms12G -XX:+PrintGCDetails \
-Xloggc:gc.log -XX:+UseParallelGC \
-jar test.jar
使用G1
-XX:+UseG1GC
7000万跑批两种垃圾回收器都是一样的时间。
使用visualVM监控Linux机器
#!/bin/bash
java -Djava.rmi.server.hostname=IP地址 \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=1098\
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Xmx12G -Xms12G -XX:+PrintGCDetails \
-Xloggc:gc.log -XX:+UseG1GC \
-jar test.jar
打印GC垃圾回收情况
-Xms20m Java堆初始容量
-Xmx20m Java堆最大容量
-Xmn10m Java堆年轻代大小
-XX:+PrintGCDetails 打印GC信息
-XX:+PrintGCDetails -Xms1024m -Xmx1024m
参考资料
jdk8以上G1垃圾回收器的配置参数https://blog.csdn.net/aa1215018028/article/details/94383558