JVM参数配置
JVM参数配置
目录
# -Xms初始值 -Xmx最大值 -Xmn最小值 参数后加'm'说明是MB,否则是KB
JAVA_OPTS="-Xms1024m -Xmx6144m -Xmn1024m"
# 当发生内存溢出时,保存当前堆到一个文件中,方便日后排查 也可以通过 -XX:HeapDumpPath=/tmp/heapdump.hprof 来显示指定路径
JAVA_OPTS="${JAVA_OPTS} -XX:+HeapDumpOnOutOfMemoryError"
# 打印GC发生的详细信息
JAVA_OPTS="${JAVA_OPTS} -XX:+PrintGCDetails"
# 打印GC发生的时间信息
JAVA_OPTS="${JAVA_OPTS} -XX:+PrintGCTimeStamps"
# 每次一次GC后,都打印堆信息
JAVA_OPTS="${JAVA_OPTS} -XX:+PrintHeapAtGC"
# 打印垃圾回收期间程序暂停的时间
JAVA_OPTS="${JAVA_OPTS} -XX:+PrintGCApplicationStoppedTime"
# 打印年轻代各个引用的数量以及时长
JAVA_OPTS="${JAVA_OPTS} -XX:+PrintReferenceGC"
PrintReferenceGC
# 设置GC日志打印路径
JAVA_OPTS="${JAVA_OPTS} -Xloggc:/home/weblogic/app/gc.log"
# 设置软引用回收时间
JAVA_OPTS="${JAVA_OPTS} -XX:SoftRefLRUPolicyMSPerMB=50"
# 开启飞行器
JAVA_OPTS="${JAVA_OPTS} -XX:+UnlockCommercialFeatures -XX:+FlightRecorder"
# 启用G1 GC收集器
JAVA_OPTS="${JAVA_OPTS} -XX:+UseG1GC"
# 开启jmx远程监视
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=10.0.19.190
-Dcom.sun.management.jmxremote.port=9636
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
# GC打印参数
-XX:+PrintGC 输出简要GC日志
-XX:+PrintGCDetails 输出详细GC日志
-Xloggc:gc.log 输出GC日志到文件
-XX:+PrintGCTimeStamps 输出GC的时间戳(以JVM启动到当期的总时长的时间戳形式)
-XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800)
-XX:+PrintHeapAtGC 在进行GC的前后打印出堆的信息
-verbose:gc
-XX:+PrintReferenceGC 打印年轻代各个引用的数量以及时长