STS / Eclipse не передает vmargs для запуска конфигурации - PullRequest
2 голосов
/ 07 мая 2019

Я анализирую файл, используя ANTLR4. Исключение из памяти. Поэтому я увеличил кучу памяти в sts.ini и eclipse.ini. Ниже мой файл sts.ini.

-startup
plugins/org.eclipse.equinox.launcher_1.5.200.v20180922-1751.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.900.v20180922-1751
-product
org.springsource.sts.ide
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.8
--add-modules=ALL-SYSTEM
-XX:MaxPermSize=2048m
-Dosgi.module.lock.timeout=10
-Dorg.eclipse.swt.browser.IEVersion=10001
-Xmx2048m
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Xms512m
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+UseFastAccessorMethods

Память кучи увеличена. Я могу видеть в строке состояния кучи eclipse / sts. Но все равно программа не работает.

Когда я передаю -Xmx1024m в конфигурации запуска, программа завершается успешно. Любая причина, почему eclipse / sts не передает эти vmargs для запуска конфигурации?

Обновление: я проверил память, используя Runtime.getRuntime().maxMemory();, она показывает 512 МБ без конфигурации запуска и 2 ГБ с конфигурацией запуска.

У меня нет других vmargs в конфигурации запуска.


Версия STS:

Версия: 3.9.7.RELEASE, платформа: Eclipse 2018-12 (4.10.0)

1 Ответ

2 голосов
/ 07 мая 2019

Настройки в файле eclipse.ini / sts.ini используются только Eclipse / STS - они не передаются в программы, которые вы запускаете из Eclipse.

Настройки для каждой программы являются отдельными инастроенный в «Run> Run Configuration» для программы.

Вы можете настроить параметры виртуальной машины по умолчанию для конкретной JRE в настройках на странице «Java> Установленные JRE», используя кнопку «Редактировать ...»и редактирование поля «Default VM arguments».

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