2009-09-17 26 views
43

que tienen una herramienta de procesamiento de datos Scala que está fallando con una excepción java.lang.OutOfMemoryError. La herramienta tiene que hacer un par pasa por encima de un archivo de datos de gran tamaño (el que estoy trabajando es más de 700 MB), por lo que sería conveniente si toda la cosa podría ser almacenada en la memoria.¿Aumenta el tamaño del almacenamiento dinámico de JVM para Scala?

Ejecuto la herramienta desde la línea de comandos o desde un script Bash utilizando el corredor "scala". ¿Cómo puedo aumentar el tamaño del almacenamiento dinámico de JVM para esto? Intenté pasar -Xmx1024m, pero no reconoce este argumento. Estoy usando una compilación nocturna de Scala 2.8.0 (r18678).

Respuesta

24

La variable de entorno JAVA_OPTS se utiliza para especificar las opciones que se pasan al comando java. Vea el Scala manpage para más detalles.

0

Como hackeo, puede editar el archivo scala/bin/scala para editar los parámetros del comando java. No es bonito.

+1

... Eso podría funcionar. –

+0

Sí, pero estoy esperando a que alguien más responda. También quiero saber ... – Joe

2

Editar JAVA_OPTS.

21

Basado en la sugerencia de Joe, miré el programa Scala, que es un script Bash que llama a Java con varios argumentos específicos de Scala. Permite pasar argumentos de línea de comando adicionales a Java a través de la variable de entorno JAVA_OPTS. Lo que puede aumentar el tamaño del montón como esto:

JAVA_OPTS="-Xmx2g" scala classname arguments... 
100

Puede pasar opciones al JVM a través -J. Por ejemplo,

scala -J-Xmx2g ... 
+0

¡Muchas gracias! +1 – gd1

+0

¡Estoy usando esto también, gracias! – Benoit

+0

¡Solución rápida y fácil, gracias! Me pregunto por qué la página del hombre no muestra esto? – markc

Cuestiones relacionadas