0

我正在使用一个 JBoss 实例,它的起始内存为 4 GB,最大内存为 12 GB。我的问题是 - JVM 如何决定何时扩展内存(从 4GB 以上)与何时强制进行完整的 GC?我问的原因是因为我正在查看 JVM 的内存配置文件,在一个实例中,我注意到它将内存上限从 4GB 增加到更高的值以适应内存增长需求,而在另一种情况下,它决定执行完整的 GC 以降低已用内存​​。对此有什么了解吗?

4

1 回答 1

0

您没有说您使用的是什么 JVM,但据我所知,它们都会增加堆以容纳更多对象。很可能是其他原因导致了完整的 gc。如果你有 12 GB 可用(如果你允许 JVM 增长,你应该这样做),那么我也建议设置 Xms=12GB。这使您可以更轻松地了解您想要拥有的生成大小,而无需处理堆大小调整。

于 2013-08-20T10:06:44.447 回答