Прохождение правильных аргументов JVM для воспроизведения 2.2.1 приложение на Heroku

StackOverflow https://stackoverflow.com//questions/22056013

Вопрос

Я пытаюсь передать правильные аргументы JVM к моей плейте 2.2.1 приложение, развернутое на Heroku, но есть проблема.

Мой Procfile выглядит так:

Веб: Target / Universal / Stage / Bin / MyApp -Dhttp.port= $ {port} -Dconfig.file= conf / production.conf -j -j-javaagent: lib / heroku-javaagent-1.4.jar= stdout= true, lxmem= true -j-javaagent: lib / newrelic.jar -j-dnewrelic.config.file= lib / newrelic.yml

В этой статье ( https://devcenter.heroku.com/articles/play-support / a>) Он говорит, что Play_opts не нужно пропустить, потому что он читается сгенерированным скриптом. Однако в моем приложении во время выполнения я прочитал аргументы JVM, и они выглядят так:

JVM value: -Djava.rmi.server.useCodebaseOnly=true
JVM value: -Xms1024m
JVM value: -XX:MaxPermSize=256m
JVM value: -XX:ReservedCodeCacheSize=128m
JVM value: -Duser.dir=/app/target/universal/stage
JVM value: -Dhttp.port=57279
JVM value: -javaagent:lib/heroku-javaagent-1.4.jar=stdout=true,lxmem=true
JVM value: -Xmx1024m
JVM value: -javaagent:lib/newrelic.jar
JVM value: -Dnewrelic.config.file=lib/newrelic.yml
JVM value: -Dconfig.file=conf/production.conf
.

Так что «Java_opts: -xmx384m -xss512k -xx: + USECompressedoops», по-видимому, не читается скриптом.

Я также пытался добавить -xmx384m -xsss512k -xx: + USECompressedoops для Procfile, но опять же, он не работал.

Как я могу сделать эту работу?

Это было полезно?

Решение

Проблема состояла в том, что сгенерированный игровой скрипт читает строчные буквы «Java_opts» вместо «Java_opts».

Так что, если вы устанавливаете переменную Java_opts, она будет работать:

heroku config:set java_opts="-Xms128m -Xmx384m -Xss512k -XX:+UseCompressedOops"
.

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