JVM如何决定扩展内存或执行GC?

时间:2013-08-15 14:44:45

标签: java memory-management garbage-collection

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

1 个答案:

答案 0 :(得分:0)

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