Прочитайте ряд похожих вопросов, некоторые из которых были совершенно другими или не дали объяснения.
Вот как выполняется приложение. Размер 1234M используется для гарантии того, что значение по умолчанию не выбрано. Также проверено, что не установлены переменные среды, связанные с Java.
> java -Xms512M -Xmx1234M -jar myApp.jar
Когда приложение загружается, JVisualVM показывает следующее и, основываясь на аргументах JVM, -Xmx является видимым.
На вкладке «Монитор» проверяется графическое представление, и это показывает максимальный размер кучи 8G.
Если запущено несколько приложений, это может быть проблематично c. В качестве теста установлена переменная среды _JAVA_OPTIONS = -Xms1024m -Xmx2222m. Значение 2222 используется для проверки того, что значение по умолчанию не выбрано.
Еще раз JVisualVM показывает правильный размер, переданный в:
На вкладке Монитор проверяется графическое представление, и это показывает значение из переменной среды.
Почему java не получает значения, переданные через командную строку?