Понимание параметров памяти для 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
Ответы
Ответ 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
.