Увеличьте размер кучи JVM для Scala?

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

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

Ответ 1

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

Ответ 2

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

scala -J-Xmx2g ...

Ответ 3

На основе предложения Joe я просмотрел программу scala, которая представляет собой Bash script, который вызывает java с различными аргументами scala. Он позволяет передавать дополнительные аргументы командной строки на Java через переменную среды JAVA_OPTS. Таким образом, вы можете увеличить размер кучи, как это:

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

Ответ 4

Изменить JAVA_OPTS.

Ответ 5

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