Оптимальная настройка javaOptions SBT для тестовых пакетов проекта Spark
Из проекта "База искровых испытаний":
Параметры java для тестирования SBT по умолчанию слишком малы для поддержки выполнения многих тестов из-за необходимости запуска Spark в локальном режиме. Чтобы увеличить объем памяти в
build.sbt
файл, который вы можете добавить:
fork in Test := true
javaOptions ++= Seq("-Xms512M", "-Xmx2048M", "-XX:MaxPermSize=2048M", "-XX:+CMSClassUnloadingEnabled")
Когда я запускаю консоль SBT и запускаю test
с этими javaOptions
установить, я получаю это предупреждение:
Предупреждение о виртуальной машине на 64-разрядном сервере Java HotSpot(TM): игнорирование параметра MaxPermSize=2048M; поддержка была удалена в 8.0
Пожалуйста, подтвердите MaxPermSize
опция больше не применима с Java 8.
Из этого ответа Stackru я понимаю, что: "Флаг Xmx
задает максимальный пул выделения памяти для виртуальной машины Java (JVM), а Xms
указывает начальный пул выделения памяти."
Я изменил параметры в одном из проектов, над которыми работал, и тестовый набор работал на 30% быстрее.
javaOptions ++= Seq("-Xms4g", "-Xmx8g", "-XX:+CMSClassUnloadingEnabled")
Если мы выделим больше памяти, следует ли ожидать, что наши тесты будут выполняться быстрее?
У меня есть машина с 16 ГБ оперативной памяти. Есть ли правило для настройки Xms
а также Xmx
на основе оперативной памяти у машины?