gpt4 book ai didi

Java连续GC,ParOldGen耗尽

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:45:04 25 4
gpt4 key购买 nike

我们有一个大型 Java 应用程序在 Google Cloud 托管的 VM 上运行(我认为这限制了我们控制 JVM 调整参数的能力)。

我们在 RAM 中有数百万个对象(大约 15GB)。

在执行一项可能涉及创建数万个对象(解析巨大的 Excel)的任务时,系统可能由于垃圾收集而卡住了几分钟。

我们注意到总体而言我们的 RAM 并不低,但 ParOldGen 似乎已使用 99%。有什么建议可以避免这种情况吗?

Heap
PSYoungGen total 6083072K, used 267497K [0x000000064eb00000, 0x0000000800000000, 0x0000000800000000)
eden space 6078464K, 4% used [0x000000064eb00000,0x000000065f03a438,0x00000007c1b00000)
from space 4608K, 0% used [0x00000007c1b00000,0x00000007c1b00000,0x00000007c1f80000)
to space 528384K, 0% used [0x00000007dfc00000,0x00000007dfc00000,0x0000000800000000)
ParOldGen total 14198272K, used 14197939K [0x00000002ec180000, 0x000000064eb00000, 0x000000064eb00000)
object space 14198272K, 99% used [0x00000002ec180000,0x000000064eaacc60,0x000000064eb00000)
PSPermGen total 65536K, used 50669K [0x00000002e1b80000, 0x00000002e5b80000, 0x00000002ec180000)
object space 65536K, 77% used [0x00000002e1b80000,0x00000002e4cfb640,0x00000002e5b80000)

最佳答案

this article on Java GC 中所述, ParOldGen(或 Concurrent Old Gen (Mark Sweep) GC)在处理内存中的大量碎片时可能会在其“停止世界”阶段花费很长时间,这是您希望在这种对象繁重的模式中看到的.也许这值得一读,作为对正在发生的事情的解释?

至于increasing the heap size ,这可以通过 JVM 选项来完成,这些选项可以在使用自定义运行时/灵活环境应用程序时进行操作。您也可以configure the amount of memory each instance will have .

最后还可以select which GC algorithms should run使用 JVM 选项。您可能会发现在完全不使用 ParOldGen 的情况下应用程序的性能会更好。

关于Java连续GC,ParOldGen耗尽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28682062/

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