gpt4 book ai didi

Java 8 full GC 和 OutOfMemory Java 堆空间

转载 作者:搜寻专家 更新时间:2023-11-01 03:32:30 26 4
gpt4 key购买 nike

使用 VisualVM 并检查 Tomcat 8.5 catalina.out 日志我每次都看到几乎(7 out 11 次左右)当full GC 发生时,日志显示OutOfMemory(在同一分钟)。

与内存管理有关的 Tomcat 参数:-Xms3G -Xmx=6G -XX:+UseG1GC -XX:+UseStringDeduplication -XX :MaxHeapFreeRatio=100

起初我认为这是因为默认的 -XX:MaxHeapFreeRatio 值是 70 因为我看到了那个最大值。在完整 GC 期间,堆大小(当然还有已用堆)会显着下降 - 到 ~10-20%。但是添加 XX:MaxHeapFreeRatio=100 并没有解决它。

尽管这是内存使用图,具有不同 JVM 参数集(无法获得具有旧 JVM 参数的 ATM)在完全 GC 内存使用快速增长后,它在某种程度上是相似的,相同的最大值。堆大小和最大。堆大小不会下降。

enter image description here

知道为什么会发生这种情况吗?

更新:我忘了提到之前的full GCOutOfMemory当堆大小甚至未满 - ~5GB 时会发生。那时我从未见过堆达到 6GB。

最佳答案

显然,一些创建的对象无法正确地进行垃圾回收。您可以尝试使用 VisualVM 的采样器功能并跟踪创建的实例数。

关于Java 8 full GC 和 OutOfMemory Java 堆空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46098695/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com