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).

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top