gpt4 book ai didi

Java 垃圾收集,基于类的 Tenuring

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

我一直在研究 Java 垃圾收集器的参数,随着 eden/survivor 空间填满,我看到昂贵且频繁的次要垃圾收集。这是因为我分配了一个非常大的对象池。我知道这些对象是“永久的”,因为它们会被重用但永远不会被 GC 处理。因此,我试图找到一种方法来“自动”将这些类型的对象放置在老年代而不是新年代。

我目前正在通过分配一个非常大的新一代来解决这个问题(以避免非常频繁的次要 GC),不幸的是,这意味着每个单独的集合都更昂贵。

我希望能够为每个类指定一个任期率,并将它设置为非常低的特定类对象,我知道这些对象永远不会被 GC 处理(而且非常大)(在他的例子中,是关于

我的应用程序对延迟高度敏感。

我当前的设置是使用最小/最大堆大小为 48 的 CMS。

这可能吗?我已经搜索了所有可能的 JVM 标志,但找不到任何具有这种效果的东西,也找不到使用自定义类加载器来实现它的方法。

最佳答案

考虑到 Hotspot,没有这样的标志允许您直接在 OldGen 中分配某些类实例。

如果池真的被重用和“永久”,你应该只在池分配期间得到频繁的次要 gc。您需要运行您的应用程序更长的时间,并查看该池是否确实已使用。之后,您应该不会看到任何由池使用引起的次要 GC。

关于Java 垃圾收集,基于类的 Tenuring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22815638/

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