Каковы лучшие настройки JVM для Eclipse?
Каковы наилучшие настройки JVM, которые вы нашли для запуска Eclipse?
16 ответов
Это снова время года: "eclipse.ini take 3", настройки отменяются!
Настройки Eclipse Helios 3.6 и 3.6.x
http://www.eclipse.org/home/promotions/friends-helios/helios.png
После настроек для Eclipse Ganymede 3.4.x и Eclipse Galileo 3.5.x мы подробно рассмотрим "оптимизированный" файл настроек eclipse.ini для Eclipse Helios 3.6.x:
- на основе параметров времени выполнения,
- и используя Sun-Oracle JVM 1.6u21 b7, выпущенную 27 июля (
некоторые некоторые собственные опции Sun могут быть задействованы).
(Под "оптимизированным" я имею в виду возможность запуска полноценного Eclipse на нашей дрянной рабочей станции на работе, немного старого P4 2002 года с 2Go RAM и XPSp3. Но я также проверил те же самые настройки на Windows7)
eclipse.ini
ВНИМАНИЕ: для платформ, отличных от Windows, используйте фирменную опцию Sun -XX:MaxPermSize
вместо проприетарного варианта Eclipse --launcher.XXMaxPermSize
,
То есть: если вы не используете последнюю версию 7 jdk6u21. Смотрите раздел 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 вылетает
Andrew Niefer предупредил меня об этой ситуации и написал в блоге сообщение о нестандартном аргументе vm (-XX:MaxPermSize
) и может привести к тому, что vms от других поставщиков вообще не запустится.
Но затмение версия этого варианта (--launcher.XXMaxPermSize
) не работает с новым JDK (6u21, если вы не используете 6u21 build 7, см. ниже).
окончательный решение есть на Eclipse Wiki и только для Helios в Windows с 6u21 pre build 7:
- загрузка исправленной eclipse_1308.dll (16 июля 2010 г.)
- и поместите его в
(Eclipse_home)/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
Вот и все. Здесь нет настроек для настройки (опять же, только для Helios в Windows с 6u21 pre build 7).
Для платформ, отличных от Windows, вам необходимо вернуться к частной опции Sun -XX:MaxPermSize
,
Эта проблема основана на одной регрессии: идентификация JVM не удалась из-за ребрендинга Oracle в java.exe и вызвала ошибку 319514 в Eclipse.
Андрей позаботился об ошибке 320005 - [лаунчер] --launcher.XXMaxPermSize: isSunVM
должен вернуть true для Oracle, но это будет только для Helios 3.6.1.
Фрэнсис Аптон, другой коммиттер Eclipse, размышляет обо всей ситуации.
Обновление u21b7, 27 июля:
Oracle регрессировал изменения для следующего выпуска Java 6 и не будет реализовывать его снова до JDK 7.
Если вы используете jdk6u21 build 7, вы можете вернуться к --launcher.XXMaxPermSize
(опция затмения) вместо -XX:MaxPermSize
(нестандартный вариант).
Автоопределение происходит в шимме лаунчера С eclipse.exe
все равно буду искать " Sun Microsystems
"строка, но с 6u21b7, теперь она будет работать - снова.
Сейчас я все еще держу -XX:MaxPermSize
версия (потому что я понятия не имею, когда все начнут затмение правильный JDK).
Неявные `-startup` и`--launcher.library`
В отличие от предыдущих настроек, точный путь к этим модулям больше не задается, что удобно, поскольку он может варьироваться в зависимости от версии Eclipse 3.6.x:
- автозагрузка: если не указано, исполняемый файл будет искать в каталоге плагинов
org.eclipse.equinox.launcher
комплектация с высшей версией. - launcher.library: если не указано, исполняемый файл выглядит в
plugins
каталог для соответствующихorg.eclipse.equinox.launcher.[platform]
фрагмент с самой высокой версией и использует общую библиотеку с именемeclipse_*
внутри.
Используйте JDK6
JDK6 теперь явно требуется для запуска Eclipse:
-Dosgi.requiredJavaVersion = 1.6
Этот вопрос SO сообщает о положительном развитии для Mac OS.
+ UnlockExperimentalVMOptions
Следующие опции являются частью некоторых экспериментальных опций Sun JVM.
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:+UseFastAccessorMethods
О них сообщалось в этом сообщении в блоге, чтобы потенциально ускорить Eclipse.
См. Все параметры JVM здесь, а также на официальной странице параметров Java Hotspot.
Примечание: подробный список этих опций сообщает, что 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 и неподписанное диалоговое окно
Если вы устали от этого диалогового окна во время установки множества плагинов:
, добавьте в свой eclipse.ini
:
-Declipse.p2.unsignedPolicy=allow
Смотрите этот пост от Криса Анищи и отчет об ошибке 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 не запускается должным образом на пути полного перехода.
Первоначально поднятый в этом вопросе SO, если вы испытываете это, вам нужно переопределить файл хранилища ключей с явным путем (больше нет user.home для разрешения в начале)
Добавьте в свой eclipse.ini
:
-eclipse.keyring
C:\eclipse\keyring.txt
Это было отслежено ошибкой 300577, это было решено в этом другом SO вопросе.
Режим отладки
Подождите, в Eclipse есть несколько файлов настроек.
если вы добавите в свой eclipse.ini
опция:
-debug
, вы включаете режим отладки, и Eclipse будет искать другой файл настроек: .options
файл, в котором вы можете указать некоторые параметры OSGI.
И это замечательно, когда вы добавляете новые плагины через папку dropins.
Добавьте в свой файл.options следующие параметры, как описано в этом сообщении в блоге " Диагностика Dropins ":
org.eclipse.equinox.p2.core/debug=true
org.eclipse.equinox.p2.core/reconciler=true
P2 сообщит вам, какие пакеты были найдены в
dropins/
папка, какой запрос был сгенерирован, и каков план установки. Возможно, это не подробное объяснение того, что на самом деле произошло, и что пошло не так, но оно должно дать вам полную информацию о том, с чего начать:
- был ли ваш пакет в плане?
- Была ли это проблема установки (ошибка P2)
- или может просто не оптимально включить вашу функцию?
Это происходит из-за ошибки 264924 - [Reconciler] Нет диагностики проблем с 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 не дает диагноза этой проблемы.Начать затмение.
Нет очевидных проблем. Ничего в журнале ошибок.
Help / About / Plugin
детали показываетorg.eclipse.ocl.doc
, но нетorg.eclipse.ocl
,Help / About / Configuration
детали не имеют (диагностического) упоминанияorg.eclipse.ocl
,Help / Installation / Information Installed Software
не упоминает оorg.eclipse.ocl
,Где хорошие маркеры ошибок?
Манифест Classpath
Смотрите это сообщение в блоге:
- В Galileo (он же Eclipse 3.5) JDT начал разрешать путь к классам манифеста в библиотеках, добавляемых к пути сборки проекта. Это работало независимо от того, была ли библиотека добавлена в путь сборки проекта напрямую или через контейнер пути к классам, такой как средство пользовательской библиотеки, предоставленное JDT, или средство, реализованное третьей стороной.
- В Helios это поведение было изменено, чтобы исключить контейнеры пути к классам из манифеста разрешения пути к классам.
Это означает, что некоторые из ваших проектов могут перестать компилироваться в Helios.
Если вы хотите вернуться к поведению Galileo, добавьте:
-DresolveReferencedLibrariesForContainers=true
См. Ошибку 305037, ошибку 313965 и ошибку 313890 для ссылок.
Стек IPV4
Этот вопрос SO упоминает потенциальное исправление, когда нет доступа к сайтам обновления плагинов:
-Djava.net.preferIPv4Stack=true
Упомянутый здесь на всякий случай может помочь в вашей конфигурации.
JVM1.7x64 потенциальные оптимизации
Эта статья сообщает:
Для справки, самые быстрые варианты, которые я нашел до сих пор для моего стендового теста с 1.7 x64 JVM n Windows:
-Xincgc
-XX:-DontCompileHugeMethods
-XX:MaxInlineSize=1024
-XX:FreqInlineSize=1024
Но я все еще работаю над этим...
Настройки Eclipse Galileo 3.5 и 3.5.1
В настоящее время (ноябрь 2009 г.) я тестирую с обновлением 17 jdk6 следующий набор параметров конфигурации (с Galileo - eclipse 3.5.x, см. Ниже для 3.4 или выше для Helios 3.6.x):
(конечно, адаптируйте относительные пути, присутствующие в этом eclipse.ini, к правильным путям для вашей настройки)
Примечание: для eclipse3.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 поддерживает полностью относительные пути для рабочей области или виртуальной машины (избегайте необходимости изменять их из одной установки Eclipse в другую, если, конечно, ваша JVM и рабочая область остаются прежними)
Раньше эти относительные пути переписывались в абсолютные, когда затмение начиналось само собой... - Вы также можете скопировать каталог JRE установки Java JDK в свой каталог eclipse
Предостережения
Была ошибка с игнорируемыми точками останова, фактически связанная с JDK.
Для запуска eclipse используйте JDK6u16 или более позднюю версию (затем вы можете определить столько JDK, которые вы хотите скомпилировать в eclipse: не потому, что вы запускаете eclipse с JDK6, вам придется скомпилировать этот же JDK).
Максимум
Обратите внимание на использование:
--launcher.XXMaxPermSize
384m
-vmargs
-XX:MaxPermSize=128m
Как описано в Eclipse Wiki,
Eclipse 3.3 поддерживает новый аргумент для запуска:
--launcher.XXMaxPermSize
,
Если используемая виртуальная машина является виртуальной машиной Sun, и-XX:MaxPermSize=
VM аргумент, тогда лаунчер автоматически добавит-XX:MaxPermSize=256m
к списку используемых аргументов VM.
Средство запуска 3.3 способно идентифицировать виртуальные машины Sun только в Windows.
Как подробно в этой записи:
Не все VMS принимают
-XX:MaxPermSize
аргумент, поэтому он передается таким образом. Могут (или не могут) существовать проблемы с идентификацией ВС vms.
Примечание. В Eclipse 3.3.1 есть ошибка, из-за которой программа запуска не может обнаружить виртуальную машину Sun и поэтому не использует правильный размер PermGen. Похоже, что это также была известная ошибка в Mac OS X для 3.3.0.
Если вы используете любую из этих комбинаций платформ, добавьте-XX
флаг кeclipse.ini
как описано выше.Заметки:
- "
384m
"линия переводит на"=384m
"часть аргумента VM, если виртуальная машина чувствительна к регистру на"m
", то так же и этот аргумент.- "
--launcher.
msgstr "префикс, это указывает на то, что аргумент используется самой программой запуска и был добавлен в определенные параметры программы запуска, чтобы избежать конфликтов имен с аргументами приложения. (Другие примеры:--launcher.library
,--launcher.suppressErrors
)
-vmargs -XX:MaxPermSize=384m
часть - это аргумент, передаваемый непосредственно в ВМ, полностью обходя модуль запуска, и проверка поставщика ВМ не используется.
Настройки Eclipse Ganymede 3.4.2
Более свежие настройки см. В разделе "Настройки Eclipse Galileo 3.5" выше.
JDK
На мой взгляд, лучшая настройка JVM всегда включает в себя самый последний JDK, который вы можете найти (на данный момент, jdk1.6.0_b07 до b16, кроме b14 и b15)
eclipse.ini
Даже с такими довольно низкими настройками памяти я могу запускать большие Java-проекты (вместе с веб-сервером) на моем старом (2002) рабочем столе с 2Go RAM.
-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
Посмотрите SO ответ GKelly и запись в блоге Петра Габрианчика для получения более подробной информации о новых опциях.
мониторинг
Вы также можете рассмотреть возможность запуска:
C:\[jdk1.6.0_0x path]\bin\jconsole.exe
Как сказано в предыдущем вопросе о потреблении памяти.
Настройки Eclipse Indigo 3.7.2 (64-разрядная версия Linux)
Настройки для Sun/Oracle java версии "1.6.0_31" и Eclipse 3.7, работающие на x86-64 Linux:
-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".
Основной целью оптимизации для этих флагов было минимизировать задержку во всех случаях, а в качестве дополнительной цели оптимизации минимизировать использование памяти.
-showlocation
Чтобы было проще запустить Eclipse дважды и знать, с какой рабочей областью вы имеете дело
Eclipse 3.6 добавляет опцию настроек, чтобы указать, что показывать для Workspace name (shown in window title)
который работает намного лучше, чем -showlocation
по трем причинам:
- Вам не нужно перезапускать затмение, чтобы оно вступило в силу.
- Вы можете выбрать короткий код.
- Он появляется первым, перед перспективой и именем приложения.
Если вы собираетесь установить обновление 14 для jdk6, я бы предложил использовать сборщик мусора G1, который, похоже, помогает повысить производительность.
Для этого удалите эти настройки:
-XX: + UseConcMarkSweepGC
-XX: + CMSIncrementalMode
-XX: + CMSIncrementalPacing
и замените их следующими:
-XX: + UnlockExperimentalVMOptions
-XX: + UseG1GC
Если вы используете Linux + Sun JDK / JRE 32bit, измените "-vm" на:
-vm
[your_jdk_folder]/jre/lib/i386/client/libjvm.so
Если вы используете Linux + Sun JDK / JRE 64bit, измените "-vm" на:
-vm
[your_jdk_folder]/jre/lib/amd64/server/libjvm.so
Это работает нормально для меня на Ubuntu 8.10 и 9.04
Вы также можете попробовать запустить с JRockit. Это JVM, оптимизированная для серверов, но многие долго работающие клиентские приложения, такие как IDE, отлично работают на JRockit. Затмение не является исключением. У 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. Вы загружаете плагины с этого сайта обновления. Обратите внимание, работает только для Eclipse 3.3 и Eclipse 3.4
-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
Вот мои собственные настройки для моего 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 = То же, что и значение по умолчанию, равное 256 м
Мои собственные настройки (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
Если вы похожи на меня и у вас были проблемы с текущей версией Oracle версии 1.6, вы можете обновить JDK или установить
-XX:MaxPermSize, Более подробная информация доступна здесь: http://java.dzone.com/articles/latest-java-update-fixes
Затмение любит много оперативной памяти. Используйте как минимум -Xmx512M. Больше, если доступно.
-vm
C: \ Program Files \ Java \ jdk1.6.0_07 \ jre \ bin \ client \ jvm.dll
Чтобы указать, какую версию Java вы используете, и использовать DLL вместо запуска процесса Java
Вот что я использую (хотя они есть в ярлыке вместо файла настроек):
eclipse.exe -showlocation -vm "C: \ Java \ jdk1.6.0_07 \ bin \ javaw.exe" -vmargs -Xms256M -Xmx768M -XX: + UseParallelGC -XX: MaxPermSize = 128M