Как установить размер кучи в игре/активаторе?

При запуске активатора я получаю "java.lang.OutOfMemoryError: Java heap space". Я хотел бы установить кучу в неограниченный размер. Я где-то читал, что мне нужно изменить SBT_OPTS или _JAVA_OPTION так:

export SBT_OPTS="-Xmx2G -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=2G -Xss2M  -Duser.timezone=GMT"

Я нигде не мог найти документацию.

Ответ 1

tl; dr activator -help

Вы можете использовать JAVA_OPTS (может повлиять на другие java-программы), SBT_OPTS (также влияет на sbt), ACTIVATOR_OPTS (влияет только на активатор), а также флаг -mem, который вы можете использовать.

Я думаю, что -J-Xmx512M также будет работать.

➜  ~ activator -help
Usage: activator <command> [options]

  Command:
  ui                 Start the Activator UI
  new [name] [template-id]  Create a new project with [name] using template [template-id]
  list-templates     Print all available template names
  -h | -help         Print this message

  Options:
  -v | -verbose      Make this runner chattier
  -d | -debug        Set sbt log level to debug
  -mem <integer>     Set memory options (default: , which is -Xms1024m -Xmx1024m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=256m)
  -jvm-debug <port>  Turn on JVM debugging, open at the given port.

  # java version (default: java from PATH, currently java version "1.8.0_25")
  -java-home <path>  Alternate JAVA_HOME

  # jvm options and output control
  -Dkey=val          Pass -Dkey=val directly to the java runtime
  -J-X               Pass option -X directly to the java runtime
                     (-J is stripped)

  # environment variables (read from context)
  JAVA_OPTS          Environment variable, if unset uses ""
  SBT_OPTS           Environment variable, if unset uses ""
  ACTIVATOR_OPTS     Environment variable, if unset uses ""

In the case of duplicated or conflicting options, the order above
shows precedence: environment variables lowest, command line options highest.