Поощрять JVM к сборке мусора, а не увеличивать кучу?

(Обратите внимание, что когда я говорю «JVM», я действительно имею в виду «Hotspot», и я использую последнее обновление Java 1.6.)

Пример ситуации:

Моя JVM работает с параметром -Xmx, равным 1 ГБ. В настоящее время в куче выделено 500 МБ, из которых используется 450mb. Программе нужно еще 200 мб загрузить в кучу. В настоящее время в куче находится "собираемый" мусор на 300 МБ (мы предполагаем, что это все в самом старом поколении).

При нормальной работе JVM увеличивает размер кучи до 700 МБ или около того, а сборщик мусора, когда

В этой ситуации я бы хотел, чтобы JVM сначала выполняла gc, а затем выделяла новый материал, чтобы в итоге размер кучи оставался на уровне 500 МБ, а размер используемой кучи - на уровне 350 МБ.

Есть ли комбинация параметров JVM, которая делает это?

19
задан Electrons_Ahoy 18 March 2011 в 17:51
поделиться