Каковы наилучшие настройки JVM для Eclipse?[закрыто]

StackOverflow https://stackoverflow.com/questions/142357

  •  02-07-2019
  •  | 
  •  

Вопрос

Какие наилучшие настройки JVM вы нашли для запуска Eclipse?

Это было полезно?

Решение

Снова наступило то самое время года:"eclipse.ini take 3" настройки наносят ответный удар!

Настройки Eclipse Helios 3.6 и 3.6.x

альтернативный текст http://www.eclipse.org/home/promotions/friends-helios/helios.png

После настройки для Затмение Ганимеда 3.4.x и Затмение Галилео 3.5.x, вот подробный обзор "оптимизированного" eclipse.ini файл настроек для Eclipse Helios 3.6.x:

(под "оптимизированным" я подразумеваю возможность запуска полноценного Eclipse на нашей паршивой рабочей станции, каком-нибудь старом P4 2002 года выпуска с 2Go RAM и XPSp3.Но я также протестировал те же настройки в Windows7)

Eclipse.ini

alt text

ПРЕДУПРЕЖДЕНИЕ:для платформы, отличной от Windows, используйте фирменную опцию Sun -XX:MaxPermSize вместо проприетарной опции Eclipse --launcher.XXMaxPermSize.
Это: Если не вы используете последнюю версию jdk6u21 сборка 7.Смотрите раздел Oracle ниже.

-data
../../workspace
-showlocation
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
-vm
C:/Prog/Java/jdk1.6.0_21/jre/bin/server/jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Declipse.p2.unsignedPolicy=allow
-Xms128m
-Xmx384m
-Xss4m
-XX:PermSize=128m
-XX:MaxPermSize=384m
-XX:CompileThreshold=5
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+CMSIncrementalPacing
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:+UseFastAccessorMethods
-Dcom.sun.management.jmxremote
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/Prog/Java/eclipse_addons

Примечание:
Адаптировать p2.reconciler.dropins.directory во внешний каталог по вашему выбору.
Видишь это ТАК что отвечай.Идея состоит в том, чтобы иметь возможность удалять новые плагины в каталог независимо от любой установки Eclipse.

В следующих разделах подробно описывается, что содержится в этом eclipse.ini файл.


Страшный сбой Oracle JVM 1.6u21 (предварительная сборка 7) и Eclipse

Эндрю Нифер предупредил меня об этой ситуации и написал запись в блоге, о нестандартном аргументе виртуальной машины (-XX:MaxPermSize) и может привести к тому, что виртуальные машины других поставщиков вообще не запустятся.
Но версия eclipse для этой опции (--launcher.XXMaxPermSize) не работает с новым JDK (6u21, если только вы не используете сборку 6u21 7, см. Ниже).

Тот Самый Финал решение находится на Eclipse Вики, и для Helios в Windows с предварительной сборкой 6u21 7 Только:

  • загрузка исправленного eclipse_1308.dll (16 июля 2010)
  • и поместите его в
(eclipse_home)/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503

Вот и все.Здесь нет настроек для настройки (опять же, только для Helios в Windows с помощью предварительная сборка 6u21 7).
Для платформы, отличной от Windows, вам необходимо вернуться к проприетарной опции Sun -XX:MaxPermSize.

Проблема основана на регрессии: Сбой идентификации JVM из-за ребрендинга Oracle в java.exe, и сработал ошибка 319514 на Затмении.
Эндрю позаботился о Ошибка 320005 - [лаунчер] --launcher.XXMaxPermSize: isSunVM должно возвращать значение true для Oracle, но это будет только для Helios 3.6.1.
Фрэнсис Аптон, еще один коммиттер Eclipse, размышляет обо всей ситуации.

Обновление u21b7, 27 июля:
Oracle отклонила изменение для следующего выпуска Java 6 и не будет реализовывать его снова до JDK 7.
Если вы используете jdk6u21 сборка 7, вы можете вернуться к --launcher.XXMaxPermSize (опция eclipse) вместо -XX:MaxPermSize (нестандартный вариант).
Тот Самый автоматическое обнаружение происходит в прокладке C launcher eclipse.exe все равно буду искать "Sun Microsystems" строка, но с 6u21b7 теперь это будет работать - снова.

На данный момент я все еще сохраняю -XX:MaxPermSize версия (потому что я понятия не имею, когда все запустят eclipse правильно JDK).


Неявные `-startup` и `--launcher.library`

В отличие от предыдущих настроек, точный путь для этих модулей больше не задан, что удобно, поскольку он может варьироваться в разных версиях Eclipse 3.6.x:

  • запуск:Если не указано, исполняемый файл будет искать в каталоге плагинов org.eclipse.equinox.launcher комплект с самой высокой версией.
  • лаунчер.библиотека:Если не указано, исполняемый файл выглядит в plugins справочник для соответствующих org.eclipse.equinox.launcher.[platform] фрагмент с самой высокой версией и использует общую библиотеку с именем eclipse_* внутри.

Используйте JDK6

Теперь JDK6 явно требуется для запуска Eclipse:

-Dosgi.requiredJavaVersion = 1.6

Это ИТАК, вопрос сообщает о положительном влиянии разработки на Mac OS.


+Разблокируйте экспериментальные варианты

Следующие опции являются частью некоторых экспериментальных опций Sun JVM.

-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:+UseFastAccessorMethods

О них сообщалось в этом запись в блоге чтобы потенциально ускорить Eclipse.
Увидеть все Параметры JVM здесь а также в официальном Страница параметров точки доступа Java.
Примечание:тот самый подробный список этих опций сообщает , что UseFastAccessorMethods может быть активен по умолчанию.

Смотрите также "Обновите свою JVM":

Напомним, что G1 - это новый сборщик мусора, который готовится к JDK 7, но уже используется в выпуске версии 6 от u17.


Открытие файлов в Eclipse из командной строки

Посмотрите на запись в блоге от Эндрю Нифера, сообщающего об этой новой опции:

--launcher.defaultAction
openFile

Это сообщает программе запуска, что если она вызывается с помощью командной строки, которая содержит только аргументы, которые не начинаются с "-", тогда к этим аргументам следует относиться так, как если бы они следовали ".--launcher.openFile".

eclipse myFile.txt

Именно такую командную строку программа запуска получит в Windows, когда вы дважды щелкните файл, связанный с eclipse, или выберите "файлы" и выберите "Open With" или "Send To" Затмение.

Относительные пути будет разрешен сначала для текущего рабочего каталога, а во-вторых, для каталога программы eclipse.

Видишь ошибка 301033 для справки.Первоначально ошибка 4922 (Октябрь 2001 года, исправлено 9 лет спустя).


p2 и Неподписанное диалоговое приглашение

Если вы устали от этого диалогового окна во время установки ваших многочисленных плагинов:

alt text

, добавьте в свой eclipse.ini:

-Declipse.p2.unsignedPolicy=allow

Видишь это запись в блоге От Chris Aniszczy, и тот сообщение об ошибке 235526.

Я действительно хочу сказать, что исследования безопасности подтверждают тот факт, что чем меньше запросов, тем лучше.
Люди игнорируют вещи, которые всплывают в процессе выполнения того, что они хотят сделать.

В версии 3.6 мы не должны выводить предупреждения в середине потока - независимо от того, насколько мы упрощаем, люди просто проигнорируют их.
Вместо этого мы должны собрать все проблемы, сделать нет установите эти пакеты с проблемами и вместо этого верните пользователя к той точке рабочего процесса, где он может все исправить - добавить доверие, более свободно настроить политику безопасности и т.д.Это называется "безопасная постановка".

---------- http://www.eclipse.org/home/categories/images/wiki.gif альтернативный текст http://www.eclipse.org/home/categories/images/wiki.gif альтернативный текст http://www.eclipse.org/home/categories/images/wiki.gif

Дополнительные опции

Эти параметры не находятся непосредственно в eclipse.ini выше, но может пригодиться в случае необходимости.


Проблема с "user.home" в Windows7

Когда eclipse запустится, он прочитает свой файл хранилища ключей (где хранятся пароли), файл, расположенный в user.home.
Если по какой -то причине это user.home если он не разрешится должным образом для полного пути оперения, Eclipse не запустится.
Первоначально воспитанный в это ТАКОЙ вопрос, если вы столкнетесь с этим, вам нужно переопределить файл хранилища ключей на явный путь (больше не user.home для разрешения в начале)

Добавьте в свой eclipse.ini:

-eclipse.keyring 
C:\eclipse\keyring.txt

Это было отслежено ошибка 300577, это было решено в этом другой вопрос SO.


Режим отладки

Подождите, в Eclipse есть более одного файла настроек.
если вы добавите к своему eclipse.ini возможность:

-debug

, вы включаете режим отладки и Eclipse будет искать другой файл настройки:a .options файл, в котором вы можете указать некоторые параметры OSGI.
И это здорово, когда вы добавляете новые плагины через папку dropins.
Добавьте в свой файл .options следующие настройки, как описано в этом запись в блоге "Диагностика выпадения волос":

org.eclipse.equinox.p2.core/debug=true
org.eclipse.equinox.p2.core/reconciler=true

P2 сообщит вам, какие пакеты были найдены в dropins/ папка, какой запрос был сгенерирован и каков план установки.Возможно, это не подробное объяснение того, что на самом деле произошло и что пошло не так, но оно должно дать вам достоверную информацию о том, с чего начать:

  • был ли ваш пакет включен в план?
  • Была ли это проблема с установкой (ошибка P2)
  • или, может быть, просто не оптимально включать вашу функцию?

Это исходит от Ошибка 264924 - [средство согласования] Нет диагностики проблем с dropins, что , наконец, решает следующую проблему, например:

Unzip eclipse-SDK-3.5M5-win32.zip to ..../eclipse
Unzip mdt-ocl-SDK-1.3.0M5.zip to ..../eclipse/dropins/mdt-ocl-SDK-1.3.0M5

Это проблемная конфигурация, поскольку OCL зависит от EMF, которая отсутствует.
3.5M5 не позволяет диагностировать эту проблему.

Запустите eclipse.
Никаких очевидных проблем.В журнале ошибок ничего нет.

  • Help / About / Plugin подробные шоу org.eclipse.ocl.doc, но не org.eclipse.ocl.
  • Help / About / Configuration подробности не имеют (диагностического) упоминания о org.eclipse.ocl.
  • Help / Installation / Information Installed Software не имеет никакого упоминания о org.eclipse.ocl.

Где хорошие маркеры ошибок?


Путь к классу манифеста

Видишь это запись в блоге:

  • В Galileo (он же Eclipse 3.5) JDT начал разрешать путь к классу манифеста в библиотеках, добавленных в путь сборки проекта.Это работало независимо от того, была ли библиотека добавлена в путь сборки проекта напрямую или через контейнер classpath, такой как средство user library, предоставляемое JDT, или реализованное третьей стороной.
  • В Helios это поведение было изменено, чтобы исключить контейнеры classpath из разрешения classpath в манифесте.

Это означает, что некоторые из ваших проектов, возможно, больше не будут компилироваться в Helios.
Если вы хотите вернуться к поведению Galileo, добавьте:

-DresolveReferencedLibrariesForContainers=true

Видишь ошибка 305037, ошибка 313965 и ошибка 313890 для справок.


Стек IPV4

Это ИТАК, вопрос упоминает потенциальное исправление при отсутствии доступа к сайтам обновления плагинов:

-Djava.net.preferIPv4Stack=true

Упоминается здесь на всякий случай, если это может помочь в вашей конфигурации.


Возможные варианты оптимизации JVM1.7x64

Эта статья отчеты:

Для справки, самыми быстрыми вариантами, которые я нашел на данный момент для моего стендового теста с JVM 1.7 x64 n Windows, являются:

-Xincgc 
-XX:-DontCompileHugeMethods 
-XX:MaxInlineSize=1024  
-XX:FreqInlineSize=1024 

Но я все еще работаю над этим...

Другие советы

Настройки Eclipse Galileo 3.5 и 3.5.1

В настоящее время (ноябрь 2009) я тестирую с обновлением jdk6 17 следующий набор параметров конфигурации (с Galileo -- eclipse 3.5.x, см. ниже для 3.4 или выше для Гелиос 3.6.x):
(конечно, адаптируйте относительные пути, присутствующие в этом eclipse.ini, к правильным путям для вашей настройки)

Примечание:для затмение3.5, заменить startup и launcher.library строки по:

-startup
plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519

eclipse.ini 3.5.1

-data
../../workspace
-showlocation
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
384m
-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-vm
../../../../program files/Java/jdk1.6.0_17/jre/bin/client/jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx384m
-Xss4m
-XX:PermSize=128m
-XX:MaxPermSize=384m
-XX:CompileThreshold=5
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-Dcom.sun.management.jmxremote
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/jv/eclipse/mydropins

Смотрите также мой оригинальный ответ выше для получения дополнительной информации.

Изменения (с июля 2009 года)

  • относится к лаунчеру, а не к фреймворку
  • общие плагины: org.eclipse.equinox.p2.reconciler.dropins.directory вариант.
  • Galileo поддерживает полностью относительные пути для workspace или виртуальной машины (избегайте необходимости изменять их при переходе с одной установки eclipse на другую, если, конечно, ваша JVM и workspace останутся прежними)
    Раньше эти относительные пути постоянно переписывались в абсолютные, когда запускался eclipse...
  • Вы также можете скопировать каталог JRE установки Java JDK в свой каталог eclipse

Предостережения

Там была ошибка с игнорируемые точки останова на самом деле это связано с JDK.
Используйте JDK6u16 или более позднюю версию для запуск eclipse (затем вы можете определить столько JDK, сколько хотите скомпилировать внутри затмение:это не потому, что вы запускаете eclipse с JDK6, что вам придется компилировать с тем же JDK).

Макс.

Обратите внимание на использование:

--launcher.XXMaxPermSize
384m
-vmargs
-XX:MaxPermSize=128m

Как задокументировано в Eclipse Вики,

Eclipse 3.3 поддерживает новый аргумент для средства запуска: --launcher.XXMaxPermSize.
Если используемая виртуальная машина является виртуальной машиной Sun и еще не существует -XX:MaxPermSize= Аргумент виртуальной машины, после чего программа запуска автоматически добавит -XX:MaxPermSize=256m к списку используемых аргументов виртуальной машины.
Программа запуска 3.3 способна идентифицировать виртуальные машины Sun только в Windows.

Как подробно описано в эта запись:

Не все виртуальные машины принимают -XX:MaxPermSize аргумент, который является причиной того, что он передается таким образом.Могут существовать (а могут и не существовать) проблемы с идентификацией виртуальных машин sun.
Примечание:Eclipse 3.3.1 имеет ошибка где программа запуска не может обнаружить виртуальную машину Sun и, следовательно, не использует правильный размер PermGen.Похоже, что это могло быть известная ошибка в Mac OS X версии 3.3.0 также хорошо.
Если вы используете любую из этих комбинаций платформ, добавьте -XX флаг на eclipse.ini как описано выше.

Примечания:

  • тот самый "384m" строка переводится как "=384m" часть аргумента виртуальной машины, если виртуальная машина чувствительна к регистру в "m", то таким же является и этот аргумент.
  • тот самый "--launcher." префикс, это указывает, что аргумент используется самой программой запуска и был добавлен к конкретным аргументам программы запуска, чтобы избежать конфликтов имен с аргументами приложения.(Другими примерами являются --launcher.library, --launcher.suppressErrors)

Тот Самый -vmargs -XX:MaxPermSize=384m part - это аргумент, передаваемый непосредственно виртуальной машине, полностью минуя программу запуска, и проверка поставщика виртуальной машины не используется.

Настройки Eclipse Ganymede 3.4.2


Дополнительные сведения о последних настройках см. в разделе Настройки Eclipse Galileo 3.5 приведены выше.


JDK

Лучшая настройка JVM всегда, на мой взгляд, включает в себя последнюю версию JDK вы можете найти (итак, на данный момент, jdk1.6.0_b07 до b16, кроме b14 и b15)

eclipse.ini

Даже при таких довольно низких настройках памяти я могу запускать большие java-проекты (вместе с веб-сервером) на моем старом рабочем столе (2002) с оперативной памятью 2Go.

-showlocation
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-framework
plugins\org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
-vm
jdk1.6.0_10\jre\bin\client\jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx384m
-Xss2m
-XX:PermSize=128m
-XX:MaxPermSize=128m
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:CompileThreshold=5
-Dcom.sun.management.jmxremote

Видишь Итак, ответ ГКелли и Запись в блоге Петра Габрианчика для получения более подробной информации о новых опциях.

Мониторинг

Вы также можете рассмотреть возможность запуска:

C:\[jdk1.6.0_0x path]\bin\jconsole.exe

Как сказано в предыдущий вопрос о потреблении памяти.

Настройки Eclipse Indigo 3.7.2 (64-разрядная версия Linux)

Настройки для Sun/Oracle java версия "1.6.0_31" и Затмение 3.7 работает на Linux x86-64:

-nosplash
-vmargs
-Xincgc
-Xss500k
-Dosgi.requiredJavaVersion=1.6
-Xms64m
-Xmx200m
-XX:NewSize=8m
-XX:PermSize=80m
-XX:MaxPermSize=150m
-XX:MaxPermHeapExpansion=10m
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=70
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+UseParNewGC
-XX:+CMSConcurrentMTEnabled
-XX:ConcGCThreads=2
-XX:ParallelGCThreads=2
-XX:+CMSIncrementalPacing
-XX:CMSIncrementalDutyCycleMin=0
-XX:CMSIncrementalDutyCycle=5
-XX:GCTimeRatio=49
-XX:MaxGCPauseMillis=20
-XX:GCPauseIntervalMillis=1000
-XX:+UseCMSCompactAtFullCollection
-XX:+CMSClassUnloadingEnabled
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
-XX:+AggressiveOpts
-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses

Обратите внимание, что при этом используется только 200 МБ для кучи и 150 МБ для не-кучи.Если вы используете огромные плагины, возможно, вам захочется увеличить оба ограничения "-Xmx200m" и "-XX: MaxPermSize = 150m".

Основной целью оптимизации для этих флагов было минимизируйте задержку во всех случаях и в качестве вторичной цели оптимизации сведите к минимуму использование памяти.

-показать местоположение

Чтобы упростить запуск eclipse дважды, и знать, с какой рабочей областью вы имеете дело

Eclipse 3.6 добавляет опцию настроек, чтобы указать, что показывать для Workspace name (shown in window title) который работает намного лучше, чем -showlocation по трем причинам:

  1. Вам не нужно перезапускать eclipse, чтобы это вступило в силу.
  2. Вы можете выбрать короткий код.
  3. Оно появляется первым, перед перспективой и названием приложения.

Если вы собираетесь использовать jdk6 с обновлением 14, я бы посоветовал использовать сборщик мусора G1, который, по-видимому, повышает производительность.

Для этого удалите эти настройки:

-XX:+useconmarksweepgc использовать
-XX:+CMSIncrementalMode (Постоянный режим)
-XX:+cmsвременное пространство

и замените их вот этими:

-XX:+Разблокируйте экспериментальные варианты
-XX:+UseG1GC

Если вы используете Linux + Sun JDK / JRE 32 бита, измените "-vm" на:

-vm 
[your_jdk_folder]/jre/lib/i386/client/libjvm.so

Если вы используете Linux + Sun JDK / JRE 64 бита, измените "-vm" на:

-vm
[your_jdk_folder]/jre/lib/amd64/server/libjvm.so

У меня это нормально работает в Ubuntu 8.10 и 9.04

Вы также можете попробовать запустить с ДЖрокит.Это JVM, оптимизированная для серверов, но многие долго работающие клиентские приложения, такие как IDE, очень хорошо работают на JRockit.Eclipse не является исключением.В JRockit нет пробела для перманентности, поэтому вам не нужно его настраивать.

Можно установить целевое время паузы (мс), чтобы избежать длительных пауз gc, приводящих к остановке пользовательского интерфейса.

-showsplash
org.eclipse.platform
-vm
 C:\jrmc-3.1.2-1.6.0\bin\javaw.exe 
-vmargs
-XgcPrio:deterministic
-XpauseTarget:20

Обычно я не утруждаю себя настройкой -Xmx и -Xms и позволяю JRockit наращивать кучу по мере необходимости.Если вы запускаете свое приложение Eclipse с помощью JRockit, вы также можете отслеживать, профилировать и находить утечки памяти в своем приложении, используя набор инструментов JRockit Mission Control tools suite.Вы загружаете плагины с этого обновить сайт.Обратите внимание, работает только для Eclipse 3.3 и Eclipse 3.4

Вот моя собственная настройка для моего Eclipse, работающего на ноутбуке i7 2630M с 16 ГБ оперативной памяти, эта настройка использовалась в течение недели без единого сбоя, и Eclipse 3.7 работает без сбоев.

-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms1024m
-Xmx4096m 
-XX:MaxPermSize=256m

Расчеты:Для Win 7 x64

  • Xms = Физическая память / 16
  • Xmx = Физическая память / 4
  • MaxPermSize = Совпадает со значением по умолчанию, которое равно 256m
-startup
../../../plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx_1.1.100.v20110502
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Xms128m
-Xmx512m
-XX:MaxPermSize=256m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-Dcom.sun.management.jmxremote
-Declipse.p2.unsignedPolicy=allow

И эта обстановка подействовала на меня как волшебство.Я использую OS X10.6, Eclipse 3.7 Indigo, JDK1.6.0_24

Мои собственные настройки (Java 1.7, изменить для 1.6):

-vm
C:/Program Files (x86)/Java/jdk1.7.0/bin
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20100628
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-server
-Dosgi.requiredJavaVersion=1.7
-Xmn100m
-Xss1m
-XgcPrio:deterministic
-XpauseTarget:20
-XX:PermSize=400M
-XX:MaxPermSize=500M
-XX:CompileThreshold=10
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UnlockExperimentalVMOptions
-XX:+DoEscapeAnalysis
-XX:+UseG1GC
-XX:+UseFastAccessorMethods
-XX:+AggressiveOpts
-Xms512m
-Xmx512m

Eclipse любит много оперативной памяти.Используйте как минимум -Xmx512M.Больше, если доступно.

Если вы похожи на меня и у вас возникли проблемы с текущей версией Oracle 1.6, возможно, вы захотите обновить свой JDK или установить

-XX:MaxPermSize
.Более подробная информация доступна здесь: http://java.dzone.com/articles/latest-java-update-fixes

XX:+UseParallelGC это самый потрясающий вариант на свете!!!

-вм
C:\Program Files\Java\jdk1.6.0_07\jre\bin\client\jvm.dll

Чтобы указать, какую версию Java вы используете, и использовать dll вместо запуска процесса javaw

Вот что я использую (хотя у меня они есть в ярлыке вместо файла настроек):

eclipse.exe -showlocation -виртуальная машина "C:\Java\jdk1.6.0_07\bin\javaw.exe" -vmargs -Xms256M -Xmx768M -XX:+UseParallelGC -XX: максимальный размер = 128 м

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top