问题描述
我正在分析一个 Java 进程,指标似乎并不合适。我盯着它们看了几个小时,然后我决定打开对象分配计数,这样我就可以看到分配新对象的速度。不知何故,这导致我的伊甸园空间的增长和清理方式发生了变化。 我不知道如何解释,所以我会在这里添加一个屏幕截图:
粉色垂直线是我启用对象分配跟踪的瞬间。可以看到在那行之前,eden空间分配不是很规律,但没什么可疑的。在此期间 GC 和 GC 暂停对我来说有点频繁,但它们似乎仍然不高。 然后越过那条线,您可以清楚地看到伊甸园空间的增长和缩小方式变得更加平滑和规则。 但更令人惊讶的是 GC 暂停和 GC 收集的变化。突然之间,他们变得不那么频繁了。
有人知道这是怎么发生的吗?可以公平地说这不是巧合,我想了解这种分析更改是如何产生这种效果的。假设这种效果是真实的,我希望能够在不需要分析器的情况下重现它,这样我的程序花在 GC 和 GC 暂停上的时间就会少很多。
环境:Linux、Java 11、G1GC、yourkit。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)