Размер свободного кучи не увеличивается в Maven
-
09-10-2019 - |
Вопрос
Когда я запускаю Maven-Jetty-Plugin, я запускаю следующую команду:
mvn -DMAVEN_OPTS="-Xmx1024m -Xms512m" -Djetty.port=8080 jetty:run
Но когда я пытаюсь выводить свободный размер кучи с
Long heapFreeSize = Runtime.getRuntime().freeMemory();
Это всегда выводит что-то около 30000000.
Я полагаю, что это размер в байтах, так что около 30 мегабайт.
Почему тогда бесплатная куча памяти не увеличилась?
Решение
MAVEN_OPTS
является переменной среды, которая читается Maven и используется в качестве аргументов командной строки для формирования процессов Java. Управляйте аргументами командной строки Контролируйте, как запущена исполняемый файл Java, например, такие вещи, как параметры памяти.
-D
Используется для установки системы Java System, что является чем-то совершенно отличным, чем аргументы командной строки. Свойства системы Java могут быть прочитаны программно, например, с помощью System.getProperties ().
Windows:
SET MAVEN_OPTS="-Xmx1024m -Xms512m"
mvn -Djetty.port=8080 jetty:run
Linux:
export MAVEN_OPTS="-Xmx1024m -Xms512m"
mvn -Djetty.port=8080 jetty:run
Другие советы
Я думаю --dmaven_opts = "- xmx1024m -xms512m" не правильный способ указать параметры памяти здесь.
Установите переменную env под названием maven_opts с контентом "-xmx1024m -xms512m"