Мой первый вопрос должен быть, почему вы настраиваете его вообще? Сервер JVM устанавливает максимум до 1/4 основного размера памяти, и это разумно для большинства приложений. Вы можете изменить это, создав свой собственный JVM, или вы можете создать псевдоним, как
alias java="java -Xmx30g"
То, что вы можете сделать, это периодически проверять использование памяти и убивать процесс, если вы используете больше. Это очень плохая идея, конечно.
Вместо этого вы можете сделать программу снова с теми же аргументами, но с максимальным размером кучи, который вы хотите. Т.е. вы можете выполнить время.
Вы не можете изменить его, поскольку он оставляет максимальный размер памяти при запуске.
Кстати, существует распространенное заблуждение, что куча - единственная память, которая имеет значение. Это не так, как JVM, стеки потоков, собственная память и т. Д. Используют некоторую память, так что вы, куча и куча составляет 100 МБ, но JVM может использовать 300 МБ.