Увеличить размер кучи JVM для Scala? - PullRequest
49 голосов
/ 18 сентября 2009

У меня есть инструмент обработки данных Scala, который выходит из строя с исключением java.lang.OutOfMemoryError. Утилита должна сделать пару проходов по большому файлу данных (тот, над которым я работаю, больше 700 МБ), поэтому было бы удобно, если бы все это могло быть сохранено в памяти.

Я запускаю инструмент из командной строки или из скрипта Bash, используя бегун "scala". Как мне увеличить размер кучи JVM для этого? Я попытался передать -Xmx1024m, но он не распознает этот аргумент. Я использую ночную сборку Scala 2.8.0 (r18678).

Ответы [ 5 ]

114 голосов
/ 20 августа 2011

Вы можете передать опции в JVM через -J. Например.,

scala -J-Xmx2g ...
25 голосов
/ 18 сентября 2009

Переменная среды JAVA_OPTS используется для указания параметров, передаваемых команде java. Подробнее см. Справочную страницу Scala .

21 голосов
/ 18 сентября 2009

Основываясь на предложении Джо, я посмотрел программу scala, которая представляет собой скрипт Bash, который вызывает java с различными аргументами, специфичными для Scala. Это позволяет передавать дополнительные аргументы командной строки в Java через переменную среды JAVA_OPTS. Таким образом, вы можете увеличить размер кучи следующим образом:

JAVA_OPTS="-Xmx2g" scala classname arguments...
2 голосов
/ 18 сентября 2009

Редактировать JAVA_OPTS.

0 голосов
/ 18 сентября 2009

Как хак, вы можете отредактировать файл scala/bin/scala для редактирования параметров команды java. Не очень.

...