GC调优实战

论坛 期权论坛 脚本     
匿名技术用户   2021-1-14 11:22   540   0

1.怎么调优

调优的一般步骤:①首先收集gc日志,②分析日志中的关键性能指标,③分析GC原因,调优JVM参数。

衡量GC的两个指标:①吞吐量 ②响应时间。理想情况下是高吞吐量,低响应时间,但现实往往两个参数是相悖的。

高吞吐量适合场景:科学计算,后台处理等弱交互场景。

高响应时间适合场景:对响应时间有要求的场景。

GC分析工具:

①gceasy,在线使用。

②GCViewer,本文使用它进行分析调优(下载地址:https://download.csdn.net/download/u014172271/10624430)。

2.G1垃圾回收器

1.1 初始参数设置

PARALLEL_OPTION="-xx:+UseParallelGC -XX:+UseParalleloldGC -XX:MaxGCPauseMills=100 -XX:GCTimeRatio=99 -XX:YoungGenerationSizeIncrement=30"

CMS_OPTION="-XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=92 -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=5"

G1_OPTION="-xx:+UseG1GC -Xms128M -Xmx128 -XX:MetaspaceSize=64M -XX:MaxGCPauseMillis=100 -XX:+UseStringDeduplication -XX:StringDeduplicationAgeThreshold=3"

JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$CATALINA_HOME/logs/ -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -Xloggc:$CATALINA_HOME/logs/gc.log -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution"

2.2 垃圾回收结果:

我们可以看到吞吐量99.76, 最小停顿时间0.00004s,最大停顿时间0.03549s,平均停顿时间0.0007s,GC13次

我们要做的事情:调整Metadata,tenured heap21M,

修改JAVA_OPTS:

JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC -XX:MetaspaceSize=50M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$CATALINA_HOME/logs/ -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -Xloggc:$CATALINA_HOME/logs/gc.log -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution"

(2)第二次:

我们可以看到吞吐量99.8, 最小停顿时间0.00004s,最大停顿时间0.03446s,平均停顿时间0.00049s,GC7次

(3)这次我们调整初始堆大小

JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC -XX:MetaspaceSize=50M -Xms128M -Xms128M -XX:MaxGCPauseMillis=100 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$CATALINA_HOME/logs/ -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -Xloggc:$CATALINA_HOME/logs/gc.log -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution"

我们可以看到吞吐量99.74, 最小停顿时间0.00003s,最大停顿时间0.02183s,平均停顿时间0.00055s,GC10次。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP