Чтобы ответить на ваш вопрос более точно, чем то, что было предоставлено x4u, было бы полезно знать следующее:
Вопрос №1: Когда вы явно задаете -Xmx
,Вы устанавливаете это?В чем разница между двумя размерами кучи (с -Xmx
и без него).Я предполагаю, что вы увеличиваете размер кучи, когда устанавливаете его явно.
Вопрос # 2 : Ваша программа завершается или работает вечно?Если он завершается и вы не видите OOM, возможно, у вас нет утечки, вы просто не предоставляете достаточно памяти для вашего Java-процесса.