(Обратите внимание, что когда я говорю «JVM», я действительно имею в виду «Hotspot», и я использую последнее обновление Java 1.6.)
Пример ситуации:
Моя JVM работает с параметром -Xmx, равным 1 ГБ. В настоящее время в куче выделено 500 МБ, из которых используется 450mb. Программе нужно еще 200 мб загрузить в кучу. В настоящее время в куче находится "собираемый" мусор на 300 МБ (мы предполагаем, что это все в самом старом поколении).
При нормальной работе JVM увеличивает размер кучи до 700 МБ или около того, а сборщик мусора, когда
В этой ситуации я бы хотел, чтобы JVM сначала выполняла gc, а затем выделяла новый материал, чтобы в итоге размер кучи оставался на уровне 500 МБ, а размер используемой кучи - на уровне 350 МБ.
Есть ли комбинация параметров JVM, которая делает это?