Augmenter la taille du segment de mémoire JVM pour Scala?
-
10-07-2019 - |
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).
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.