Понимание параметров памяти для Eclipse - программирование

Понимание параметров памяти для Eclipse

Я только что установил Eclipse 4.2 (Juno) на Linux 64 бит. Я просмотрел несколько потоков Eclipse.ini в Stack Overflow, но я до сих пор не понимаю отношения между различными параметрами памяти.

С одной стороны, существуют параметры, которые для VM и находятся под -vmargs (например, -Xms и -Xmx, -XX), в то время как другие (например, --launcher.XXMaxPermSize) предоставляются непосредственно Eclipse.

Какова связь между этими параметрами? Как бы настроить их для машины с более чем 8 ГБ памяти?

Я знаю о длинном вопросе Каковы наилучшие настройки JVM для Eclipse?, но я хотел бы узнать, как самостоятельно отрегулировать эти параметры.

Для справки, после установки, параметры по умолчанию, которые есть у Juno:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.200.v20120522-1813
-product
org.eclipse.epp.package.cpp.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
4b9b3361

Ответ 1

Если вы запускаете Eclipse в Oracle/Sun JVM, я бы проигнорировал --launcher.XXMaxPermSize (лично удалю его) и сконцентрируюсь на -XX:MaxPermSize, -Xms и -Xmx.

Причиной для --launcher.XXMaxPermSize является то, что некоторые не-Oracle/Sun JVM будут дросселировать на -XX:MaxPermSize. Пусковая установка запрограммирована на обнаружение JVM и условное питание -XX:MaxPermSize. Это, конечно, побеждает явный параметр -XX:MaxPermSize в файле eclipse.ini по умолчанию. Это похоже на ошибку.

Я никогда не сталкиваюсь с настройкой -Xms. Я установил -Xmx1024m и -XX:MaxPermSize=512m.