Я пишу программу на Java, и в какой-то момент во время выполнения я хочу изменить настройки JVM (уменьшить кучу) и через некоторое время снова увеличить ее. Возможно ли это с Java?
Могу ли я изменить параметры JVM во время выполнения
comment
Могу я спросить зачем вам это нужно?
- person DaveH   schedule 14.03.2014
Ответы (2)
Короче говоря: вы не можете. Размер кучи фиксируется после запуска, и нет возможности изменить его из кода.
person
Silverlord
schedule
14.03.2014
Я не думаю, что это возможно, но вы, конечно, можете управлять кучей с помощью -Xmx или -Xms. Вы также можете поиграть с: -XX: MaxHeapFreeRatio: это максимальный процент (70 по умолчанию, если я не ошибаюсь) свободной кучи, прежде чем сборщик мусора сожмет ее.
Если указать небольшой -Xms, куча будет расти (при необходимости и будет включать полный сборщик мусора), также возможно сжатие обратно.
Обычно люди стараются как можно больше избегать этого сжатия и роста, потому что это включает в себя сборщик мусора чайки, также известный как события остановки мира, которые будут замедлять вас.
person
Eugene
schedule
14.03.2014