g1 GC基于什么算法来调整Eden区域的大小

时间:2018-05-21 07:21:07

标签: g1gc

我在我的应用程序中发现了一个GC问题,年轻的GC突然变成正常的10倍,这是伊甸园区域的一小部分。通过gc日志,我发现伊甸园大小通常会变成5000M-7000M,而当它遇到问题时它肯定会达到528M。我不知道发生了什么事情导致这样的问题。 我已经阅读了很多博客来研究调整伊甸园区域大小的算法,大多数博客只告诉我,伊甸园区域大小会根据之前的gc暂停时间自动更改。在https://product.hubspot.com/blog/g1gc-fundamentals-lessons-from-taming-garbage-collection

中只能找到一个模糊的答案

if(recent_STW_time< MaxGCPauseMillis)

eden = min(100% - G1ReservePercent - Tenured,G1MaxNewSizePercent)

否则

eden = min(100% - Tenured,G1NewSizePercent)

但据此,我的申请中伊甸园地区的面积应该是4000-6500M。

0 个答案:

没有答案