Question

J'ai un outil de traitement de données Scala qui échoue avec une exception java.lang.OutOfMemoryError . L’outil doit faire quelques passages sur un fichier de données volumineux (celui sur lequel je travaille mesure plus de 700 Mo), il serait donc pratique de pouvoir tout stocker dans la mémoire.

Je lance l'outil à partir de la ligne de commande ou d'un script Bash à l'aide de l'option "scala". coureur. Comment puis-je augmenter la taille de la pile JVM pour cela? J'ai essayé de passer -Xmx1024m , mais il ne reconnaît pas cet argument. J'utilise une version nocturne de Scala 2.8.0 (r18678).

Était-ce utile?

La solution

La variable d'environnement JAVA_OPTS est utilisée pour spécifier les options transmises à la commande java. Consultez la page de manuel Scala pour plus de détails.

Autres conseils

Vous pouvez transmettre des options à la machine virtuelle Java via l'option -J. Par exemple,

scala -J-Xmx2g ...

Sur la suggestion de Joe, j’ai examiné le programme scala, qui est un script Bash qui appelle java avec divers arguments spécifiques à Scala. Il permet de transmettre des arguments de ligne de commande supplémentaires à Java via la variable d'environnement JAVA_OPTS. Donc, vous pouvez augmenter la taille du tas comme ceci:

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

Modifiez JAVA_OPTS .

Vous pouvez modifier le fichier scala / bin / scala afin de modifier les paramètres de la commande java . Pas joli.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top