我使用的JBoss实例的启动内存为4 GB,最大内存为12 GB。我的问题是 - JVM如何决定何时扩展内存(从4GB更高)到何时强制完整GC?我问的原因是因为我正在观察JVM的内存配置文件,在一个实例中我注意到它将内存上限从4GB增加到更高的值以适应内存增长需求,在另一种情况下它决定执行完整的GC到将用过的内存降低。对此有何了解?
答案 0 :(得分:0)
你没有说你正在使用什么JVM,但据我所知,他们都在堆积以容纳更多的对象。很可能是其他东西导致了完整的gc。 如果您有12 GB可用(如果允许JVM增长则应该这样),那么我还建议设置Xms = 12GB。这使您可以更轻松地了解您希望拥有的生成大小,而无需处理堆大小调整。