相关结论
G1相关参数设置
-XX:G1HeapRegionSize=n
用于设置RSet的大小, The minimum value is 1Mb and the maximum value is 32Mb. 譬如,可以设置 16m-XX:G1ReservePercent=25
设置作为空闲空间的预留内存百分比,以降低目标空间溢出的风险。默认值是 10%。增加或减少百分比时,请确保对总的 Java 堆调整相同的量。Java HotSpot VM build 23 中没有此设置。-XX:InitiatingHeapOccupancyPercent=30
设置触发标记周期的 Java 堆占用率阈值。默认占用率是整个 Java 堆的 45%。-XX:SoftRefLRUPolicyMSPerMB=0
-XX:SoftRefLRUPolicyMSPerMB=N
这个参数比较有用的,官方解释是:Soft reference在虚拟机中比在客户集中存活的更长一些。其清除频率可以用命令行参数 -XX:SoftRefLRUPolicyMSPerMB=-XX:SurvivorRatio=8
-XX:+DisableExplicitGC -XX:+PrintAdaptiveSizePolicy
打印自适应调节策略,当出现Full GC的时候可以看到相关信息主要参考:
相关最佳实践
-server -Xms8g -Xmx8g -Xmn4g
-XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25
-XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0
-XX:SurvivorRatio=8 -XX:+DisableExplicitGC
-verbose:gc -Xloggc:/dev/shm/mq_gc_%p.log -XX:+PrintGCDetails
-XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime
-XX:+PrintAdaptiveSizePolicy
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m