playframework 2.3.x размер кучи

Есть ли способ установить -Xmx, когда я запускаю приложение с помощью «./activator start»

Я пробовал (не работает):

./activator start -J-Xmx2g

./activator -mem 2048 start

_JAVA_OPTIONS="-Xmx2g" ./activator  start

Это говорит

"Подняты _JAVA_OPTIONS: -Xmx2g"

но все еще не работает.

Также пробовал разные значения в build.sbt и application.conf - не повезло

Единственный способ, которым я мог заставить это работать, - это использовать «стадию» и передать -Xmx2g сгенерированному сценарию оболочки, что нормально, но не отсоединяет консоль.

Я думаю, что перепробовал все, что нашел в Google, но все равно не повезло. Я хотел бы как-то передать -Xmx activator start.


person Georgi    schedule 23.10.2014    source источник


Ответы (3)


Сначала определите переменную среды с вашими параметрами JVM с именем _JAVA_OPTIONS

export _JAVA_OPTIONS="-Xmx2048m"

а затем попробуйте play start или используйте activator.

person Mohammad Najar    schedule 23.10.2014
comment
Это не работает. Эффект полностью аналогичен _JAVA_OPTIONS=-Xmx2g ./activator start . Не нужно экспортировать переменную, если вы можете передать ее перед фактической командой. - person Georgi; 23.10.2014

Я нашел решение. В сценарии оболочки активатора есть некоторая ошибка, поэтому передача аргумента -J-Xmx не удаляет параметры памяти по умолчанию. Чтобы изменить параметр mem, загляните в свой скрипт активатора (/usr/local/bin/activator) и посмотрите, как добавляются параметры mem. Также обратите внимание, что передача аргумента -v выведет последнюю команду на обед java. Рабочее решение для Linux для меня таково:

export JAVA_OPTS="-Xmx2700m";activator -v
# Executing command line:
java
-Dactivator.home=/usr/local/bin
-Xmx2700m
-jar
/usr/local/bin/activator-launch-1.3.2.jar

Примеры нерабочего решения:

_JAVA_OPTIONS="-Xmx2048m";activator -J-Xmx2700m -J-Xms1024m -v
# Executing command line:
java
-Dactivator.home=/usr/local/bin
-Xmx2700m
-Xmx2700m
-Xms1024m
-jar
/usr/local/bin/activator-launch-1.3.2.jar

Также не работает:

activator -J-Xmx2700m -J-Xms1024m -v
# Executing command line:
java
-Dactivator.home=/usr/local/bin
-Xmx2700m
-Xmx2700m
-Xms1024m
-jar
/usr/local/bin/activator-launch-1.3.2.jar
person Ľubomír Varga    schedule 19.06.2015
comment
Если у вас не хватает памяти в playframework при большой разработке, вы можете попробовать добавить параметр -XX:MaxMetaspaceSize=512m, чтобы java.lang.OutOfMemoryError: Metaspace исчезал немного дольше (существует проблема с утечкой памяти github.com/playframework/playframework/issues/3799). - person Ľubomír Varga; 23.09.2015

Я думаю, вам нужно указать как минимальный, так и максимальный размер кучи, попробуйте следующее:

activator -J-Xmx2048m -J-Xms2048m start
person Mon Calamari    schedule 23.10.2014
comment
не повезло :( Все еще вижу java -Xms1024m -Xmx1024m в списке процессов - person Georgi; 23.10.2014
comment
Да, я тоже это вижу, но размер кучи составляет 2 гига. Проверьте с помощью jvisualvm. - person Mon Calamari; 23.10.2014