Интересно, будет ли память менее скупой, если в ОС останется относительно мало свободной памяти?

я есть приложение, которое временно требует некоторого определенного объема памяти / кучи для некоторых процессов. Учитывая разумное значение максимального размера кучи для JVM в качестве опции, JVM запускается с небольшой кучей и запрашивает больше памяти у ОС по требованию.

Мой вопрос заключается в том, будет ли эта дополнительная память возвращаться JVM в ОС (например, для других процессов), когда мое приложение больше не будет нуждаться в большом количестве памяти. В настоящее время мое приложение, кажется, хранит эту память навсегда, даже когда больше не нужно.

 paxdiablo07 янв. 2011 г., 12:47
Естьнет «JVM», вы должны указать, какая реализация вас интересует.
 Andreas_D07 янв. 2011 г., 13:15
29 вопросов, только один принятый ответ. Есть домашнее задание. Шутки в сторону.

Ответы на вопрос(3)

ай с IBM JVM. У нас также была проблема с программой, не освобождающей память, даже когда она не нужна. Некоторая информация может быть найдена наСайт IBM.

Решение Вопроса

но очень неохотно, так как скоро она может понадобиться снова, а получение памяти из ОС - это относительно дорогая операция.

Если вы хотите, чтобы JVM более охотно возвращала память в ОС, вы можете использоватьнастройка параметров Oracle JVMконкретно-XX:MaxHeapFreeRatio а также-XX:MinHeapFreeRatio

обнаружил, что java 1.8.0_73 иногда выпускает небольшие объемы обратно в ОС по умолчанию. Это самая ранняя версия, которую я помню, когда видел ее без необходимости настройки параметров JVM, но она вполне может применяться к более ранним версиям, я не знаю точной версии.

Если параметры не настроены, по умолчанию он, скорее всего, ничего не выпустит, если не используется 60-70% вашей кучи.

В этом может лежать соображение производительности - репутация java была медленной, поэтому по умолчанию JVM может попытаться минимизировать выделение из ОС и сделать сборку мусора настолько эффективной, насколько это возможно, удерживая большой объем памяти и делая это реже ,

Интересно, будет ли память менее скупой, если в ОС останется относительно мало свободной памяти?

Ваш ответ на вопрос