Как установить минимальные и минимальные размеры кучи Java с помощью переменных окружения? - программирование

Как установить минимальные и минимальные размеры кучи Java с помощью переменных окружения?

Как установить размер Java min и max heap через переменные среды?

Я знаю, что размеры кучи могут быть установлены при запуске java, но я хотел бы, чтобы это скорректировалось с помощью переменных среды на моем сервере.

4b9b3361

Ответ 1

Вы не можете использовать это напрямую, используя переменные среды. Вам нужно использовать набор "нестандартных" опций, которые передаются команде java. Запустите: java -X для получения дополнительной информации. Параметры, которые вы ищете, --Xmx и -Xms (это "начальный" размер кучи, поэтому, вероятно, вы ищете.)

Некоторые продукты, такие как Ant или Tomcat, могут поставляться с пакетом script, который ищет переменную среды JAVA_OPTS, но не является частью среды выполнения Java. Если вы используете один из этих продуктов, вы можете установить такую ​​переменную, как:

set JAVA_OPTS="-Xms128m -Xmx256m"  

Вы также можете использовать этот подход в своей командной строке, например:

set JAVA_OPTS="-Xms128m -Xmx256m"  
java ${JAVA_OPTS} MyClass

Ответ 2

Если вам нужен любой java процесс, а не только ant или Tomcat, чтобы выбрать такие параметры, как -Xmx, используйте переменную окружения _JAVA_OPTIONS.

В bash: export _JAVA_OPTIONS="-Xmx1g"

Ответ 4

Вы не можете сделать это, используя переменные среды. Это делается с помощью "нестандартных" опций. Запустите: java -X для получения дополнительной информации. Параметры, которые вы ищете, это -Xmx и -Xms (это "начальный" размер кучи, поэтому, вероятно, вы ищете.)

Ответ 5

Я думаю, что ваш единственный вариант - обернуть java в script, который заменяет переменные среды в командной строке

Ответ 6

Несколько примечаний:

  • Apache ant ничего не знает о JAVA_OPTS, в то время как скрипты запуска Tomcat. Для Apache ant используйте ANT_OPTS для воздействия на среду JVM, которая запускает /ant/, но не для того, что может запускаться ant.

  • Максимальный размер кучи, который вы можете установить, полностью зависит от среды: для большинства 32-битных систем максимальное количество пространства кучи, которое вы можете запросить, независимо от доступной памяти, находится в диапазоне 2GiB. Самая большая куча на 64-битной системе "действительно большая". Кроме того, вы также ограничены физической памятью, так как куча управляется JVM, и вы не хотите, чтобы на диск происходило много перекосов.

  • Для серверных сред обычно требуется установить значения -Xms и -Xmx на одно и то же значение: это позволит исправить размер кучи определенного размера, и сборщик мусора имеет меньше работы, потому что куча будет никогда не нужно менять размеры.