У меня есть Java-приложение, которому иногда требуется много памяти. Обычно он потребляет 100-200 МБ, но иногда за 1-2 минуты потребляет ~2 ГБ.
Поскольку я должен поддерживать этот сценарий, я установил xmX на 2048.
Проблема в том, что сборщик мусора не освободит эту память, если приложению не потребуется больше памяти. Сервер становится медленным и тяжелым, и у меня нет возможности заставить это приложение освобождать память.
Я безуспешно пытался вызвать System.gc() после этой части.
Есть ли еще параметры VM, которые могут здесь помочь? Есть ли способ заставить GC работать?
Спасибо!