JVM 最大堆大小可以是动态的吗?
JVM -Xmx 参数允许将 JVM 的最大堆大小设置为某个值。但是,有没有办法使这种价值动态化?换句话说,我想告诉JVM“看,如果你需要它,只要继续从系统中获取RAM,直到系统出来。
问这个问题的两部分原因:首先,有问题的应用程序可以使用非常广泛的RAM,具体取决于用户正在做什么,因此概念上的最小值和最大值相距甚远。其次,JVM 似乎在引导时从虚拟内存中保留了最大堆空间。这个特定的应用程序在各种各样的硬件上运行,因此选择“一刀切”的最大堆空间是很困难的,因为它必须足够低才能在低端硬件上运行,但是如果它们可用,我们真的希望能够利用非常强大的机器。