Aumentar o tamanho do heap JVM para Scala?
-
10-07-2019 - |
Pergunta
Eu tenho uma ferramenta de processamento de dados Scala que está falhando com uma exceção java.lang.OutOfMemoryError
. As necessidades de ferramentas para fazer um casal passa sobre um grande arquivo de dados (o que eu estou trabalhando é mais de 700MB), de modo que seria conveniente se a coisa toda poderia ser armazenada na memória.
Eu executar a ferramenta da linha de comando ou de um script Bash usando o corredor "scala". Como faço para aumentar o tamanho de heap JVM para isso? Eu tentei passar -Xmx1024m
, mas não reconhece este argumento. Eu estou usando uma compilação noturno de Scala 2.8.0 (r18678).
Solução
A variável de ambiente JAVA_OPTS é usado para especificar as opções passadas para o comando java. Veja a Scala manpage para mais detalhes.
Outras dicas
Você pode passar opções para o JVM via -J. Por exemplo.,
scala -J-Xmx2g ...
Com base na sugestão de Joe, eu olhei para o programa scala, que é um script que chama Java com vários argumentos específicos Scala. Ele permite que os argumentos de linha de comando adicionais a serem passados ??para Java através da variável de ambiente JAVA_OPTS. Então, você pode aumentar o tamanho da pilha assim:
JAVA_OPTS="-Xmx2g" scala classname arguments...
Editar JAVA_OPTS
.
Como um hack que você pode editar o arquivo scala/bin/scala
para editar os parâmetros para o comando java
. Não é bonito.