Вопрос



Когда я запускаю 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"

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top