Задать максимальный размер кучи JVM при запуске скриптов Kotlin? - PullRequest
3 голосов
/ 01 июля 2019

Я запускаю скрипт Kotlin, используя:

kotlinc -script myscript.kts

Это делает довольно тяжелую обработку данных и быстро сталкивается с ошибками GC / пространства кучи (например, java.lang.OutOfMemoryError: GC overhead limit exceeded или java.lang.OutOfMemoryError: Java heap space в зависимости от того, что обрабатывает скрипт).

Есть ли способ увеличить размер кучи JVM при запуске сценариев Kotlin? Попытка использовать:

kotlinc -Xmx8g -script myscript.kts

выдает предупреждение:

warning: flag is not supported by this version of the compiler: -Xmx8g

1 Ответ

2 голосов
/ 01 июля 2019

После просмотра фактического сценария kotlinc bash параметры размера кучи устанавливаются на основе переменной среды в строке:

[ -n "$JAVA_OPTS" ] || JAVA_OPTS="-Xmx256M -Xms32M"

Установка этой переменной среды перед выполнением сценария kotlin позволяет увеличить размер кучи.

Для приведенного выше примера в Linux / MacO работает следующее:

$ export JAVA_OPTS="-Xmx8g"
$ kotlinc -script myscript.kts

В Windows:

set JAVA_OPTS="-Xmx8g"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...