올바른 JVM 인수를 전달하여 Heroku에서 2.2.1 앱을 재생할 수 있습니다.
-
21-12-2019 - |
문제
저는 PLAY 2.2.1 응용 프로그램에 올바른 JVM 인수를 전달하려고 노력하고 있지만 문제가 있습니다.
내 PROCFILE이 다음과 같습니다 :
web : target / Universal / stage / bin / myapp -dhttp.port= $ {포트} -dconfig.file= conf / production.conf -j-javaAgent : lib / heroku-javaagent-1.4.jar= stdout= true, lxmem= true -j-javaAgent : lib / newrelic.jar -j-dnewrelic.config.file= lib / newrelic.yml
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 -xsss512k -xx : + UseCompressEDoops "는 분명히 스크립트에서 읽지 않습니다.
i -xmx384m -xss512k -xx : + UseCompressedoops를 ProcFile에 추가하려고했지만 다시 작동하지 않았습니다.
해결책
생성 된 재생 스크립트가 "java_opts"대신 소문자 "java_opts"를 읽는 것이 었습니다.
java_opts 변수를 설정하면 작동합니다.
heroku config:set java_opts="-Xms128m -Xmx384m -Xss512k -XX:+UseCompressedOops"
. 제휴하지 않습니다 StackOverflow