我可以使用如此大的Eden空间启动JVM,它可以在没有任何GC的情况下运行完成。假设我有一堆免费的mem

问题描述 投票:6回答:2

如果我有足够的内存,我可以启动一个Java应用程序(说明为mMven)单独使用Eden空间直到完成没有任何GC吗?

java java-8 garbage-collection
2个回答
2
投票

是的但不是Java 8. Java 11将包括Epsilon GC(JEP 318),它不会释放内存。对于任何其他GC并且具有足够大的堆,不需要触发StopTheWorld垃圾收集,但不保证不会发生。


5
投票

是的,我已经在Java 6+中为真正的应用程序做了这个。我开始使用24 GB Eden空间,小型幸存者和终身空间。后来我发现8 GB已经绰绰有余了。

当出现错误或错误时它仍然是GC,但不是正常操作。

我相信选项是

-Xmn24g -Xmx26g -XX:SurvivorRatio = 100

使用默认GC。

该应用程序经过优化,每小时生产不到1 GB,因此使用GC运行一天。

© www.soinside.com 2019 - 2024. All rights reserved.