Куча JVM не выпущена
Я новичок в анализе проблем с памятью в Java. Так что извините, если этот вопрос кажется наивным
У меня есть приложение, работающее со следующими параметрами JVM:
-Xms3072m -Xmx3072m
-XX:MaxNewSize=1008m -XX:NewSize=1008m
-XX:PermSize=224m -XX:MaxPermSize=224m -XX:SurvivorRatio=6
Я использую visualVM для мониторинга использования: вот что я вижу
Проблема в том, что даже когда приложение не получает никаких данных для обработки, используемая память не уменьшается. Когда приложение запускается, используемое пространство начинает мало (около 1 ГБ), но увеличивается по мере запуска приложения. и тогда используемая память никогда не выходит из строя. Мой вопрос заключается в том, почему используемая кучная память не выходит из строя, даже если в приложении не происходит серьезной обработки, и какие конфигурации можно настроить для ее исправления. Насколько я понимаю, если приложение не выполняет какую-либо обработку, тогда используемая куча должна быть меньше, а доступная память кучи (или максимальная куча) должна оставаться такой же (3 ГБ) в этом случае.