G1GC调优时遇到的坑
发布时间:2021-04-19 20:50:47阅读:(324)
近期,出于某些原因,对线上项目进行JVM调优,希望能将年轻代大小固定下来而非动态分配,于是在启动参数上增加了-Xmn=3G
,结果上达到了预定,而然在查看监控是却发现,原本程序gc的STW时间只需要30ms左右,加完这个参数后却达到了300ms,相差近10倍,这是一个很严重的问题了
于是我去查了oracle关于g1相关的文档,终于找到了答案:
评估和微调 G1 GC 时,请记住以下建议:
年轻代大小:避免使用 -Xmn 选项或 -XX:NewRatio 等其他相关选项显式设置年轻代大小。固定年轻代的大小会覆盖暂停时间目标。
原本参数中设置了-XX:MaxGCPauseMillis=100,由于-Xmn属性导致此参数失效了,因此STW时间也随之边长了。
所以,在对JVM没有充分了解的时候,千万得谨慎调优!!!
Oracle原文地址:Garbage First Garbage Collector Tuning
文章版权及转载声明:
文章转载或复制请以超链接形式并注明出处陌上小筑
发表评论