Этот вопрос был задан, когда самым последним ответом на такой вопрос в 2008 году был eclipsezone.com/eclipse/forums/t20732.html . Набор ответов вырос, потому что были выпущены новые версии Eclipse и Java, последующие обновления сохранили ответы свежими. Закрытие вопроса приведет к тому, что ответы станут устаревшими. Единственный способ перефразировать этот вопрос - придать ему конкретную версию, что, на мой взгляд, еще хуже, так как это может привести к тому, что несколько вопросов ответят в основном на одну и ту же проблему
Крейг Ангус,
10
Согласитесь - закрытие таких вопросов - это безумие - безумие, которое я вам говорю, - такие вопросы являются самыми полезными и интересными на сайте!
Луиджи Плинге
3
Согласно причине закрытия, «мы ожидаем, что ответы, как правило, связаны с фактами, ссылками или конкретными знаниями». Я думаю, что закрытие этого вопроса является натяжкой. Давайте будем осторожны, используя полномочия цензуры. Я бы сказал, что в случае сомнений лучше «позволить знаниям быть свободными» и открыться.
Луисколорадо
Ответы:
315
Это снова время года: «eclipse.ini take 3», настройки отменяются!
и используя 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 ниже.
Примечание:
адаптируйте p2.reconciler.dropins.directoryк внешнему каталогу по вашему выбору.
Посмотри это ответ . Идея состоит в том, чтобы иметь возможность добавлять новые плагины в каталог независимо от установки Eclipse.
В следующих разделах подробно описано, что в этом eclipse.ini файле.
Страшный Oracle JVM 1.6u21 (до сборки 7) и Eclipse вылетает
Эндрю Нифер предупредил меня об этой ситуации и написал в блоге сообщение о нестандартном аргументе vm ( -XX:MaxPermSize), что может привести к тому, что vms от других поставщиков вообще не запустится.
Но затмение версия этого варианта (--launcher.XXMaxPermSize ) не работает с новым JDK (6u21, если вы не используете 6u21 build 7, см. Ниже).
окончательныйрешение есть на Eclipse Wiki и только для Helios на Windows с 6u21 pre build 7 :
Вот и все. Здесь нет настроек для настройки (опять же, только для Helios в Windows с 6u21 pre build 7 ).
Для платформ, отличных от Windows, вам необходимо вернуться к частной опции Sun-XX:MaxPermSize .
Обновление u21b7, 27 июля : Oracle регрессировал изменения для следующего выпуска Java 6 и не будет реализовывать его снова до JDK 7 .
Если вы используете jdk6u21 build 7 , вы можете вернуться к --launcher.XXMaxPermSize(опция eclipse) вместо -XX:MaxPermSize(нестандартная опция). Автоматическое обнаружение происходит в C пусковой прокладки будет еще искать для " eclipse.exeSun 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.
Напомним, что G1 - это новый сборщик мусора, который готовится к выпуску JDK 7, но он уже используется в версии 6 от u17.
Открытие файлов в Eclipse из командной строки
Смотрите сообщение в блоге Эндрю Нифера, сообщающее об этой новой опции:
--launcher.defaultAction
openFile
Это говорит программе запуска, что если она вызывается из командной строки, которая содержит только аргументы, которые не начинаются с " -", то эти аргументы должны обрабатываться так, как если бы они следовали " --launcher.openFile".
eclipse myFile.txt
Это вид командной строки, которую программа запуска будет получать в Windows, когда вы дважды щелкаете файл, связанный с Eclipse, или выбираете файлы и выбираете « Open With» или « Send To» Eclipse.
Относительные пути будут разрешаться сначала для текущего рабочего каталога, а затем для программного каталога eclipse.
См. Ошибку 301033 для справки. Первоначально ошибка 4922 (октябрь 2001 года, исправлена 9 лет спустя).
p2 и неподписанная диалоговая подсказка
Если вы устали от этого диалогового окна во время установки множества плагинов:
Я хочу сказать, что исследования безопасности подтверждают тот факт, что меньше запросов - лучше.
Люди игнорируют вещи, которые появляются в потоке чего-то, что они хотят сделать.
Для 3.6 мы не должны выскакивать предупреждения в середине потока - независимо от того, насколько мы упрощаем, люди будут просто игнорировать их.
Вместо этого мы должны собрать все проблемы, не устанавливать эти пакеты с проблемами, и вместо этого вернуть пользователя к точке в рабочем процессе, где он может исправить - добавить доверие, более свободно настраивать политику безопасности и т. Д. Это называется «безопасным». постановка » .
Эти параметры не указаны eclipse.iniвыше, но могут пригодиться при необходимости.
Проблема user.home в Windows7
Когда eclipse запустится, он прочитает свой файл хранилища ключей (где хранятся пароли), файл, расположенный в user.home.
Если по какой-то причине это user.homeне приводит к правильному переходу к полноценному пути, Eclipse не запустится.
Изначально поставленный в этом вопросе ТАК , если вы сталкиваетесь с этим, вам нужно переопределить файл хранилища ключей с явным путем (больше нет user.home для разрешения в начале)
Подождите, в Eclipse есть несколько файлов настроек.
если вы добавите в свой eclipse.iniвариант:
-debug
, вы включаете режим отладки, и Eclipse будет искать другой файл настроек: .optionsфайл, в котором вы можете указать некоторые параметры OSGI.
И это здорово, когда вы добавляете новые плагины через папку dropins.
Добавьте в свой файл .options следующие параметры, как описано в этом сообщении в блоге « Диагностика Dropins » :
P2 сообщит вам, какие пакеты были найдены в dropins/папке, какой запрос был сгенерирован и каков план установки. Возможно, это не подробное объяснение того, что на самом деле произошло, и что пошло не так, но оно должно дать вам полную информацию о том, с чего начать:
был ли ваш пакет в плане?
Была ли это проблема установки (ошибка P2)
или может просто не оптимально включить вашу функцию?
В Galileo (он же Eclipse 3.5) JDT начал разрешать путь к классам манифеста в библиотеках, добавляемых в путь сборки проекта. Это работало независимо от того, была ли библиотека добавлена в путь сборки проекта напрямую или через контейнер пути к классам, такой как средство пользовательской библиотеки, предоставленное JDT, или средство, реализованное третьей стороной.
В Helios это поведение было изменено, чтобы исключить контейнеры пути к классам из разрешения манифеста пути к классам.
Это означает, что некоторые из ваших проектов могут перестать компилироваться в Helios.
Если вы хотите вернуться к поведению Galileo, добавьте:
По этой ссылке, oracle.com/technetwork/java/javase/gc-tuning-6-140523.html#icms , вам нужно иметь -XX: + UseConcMarkSweepGC для использования -XX: + CMSIncrementalMode. Этого не хватает в вашем примере выше. Нам не нужен CMSIncrementalMode, если мы используем G1 GC, я прав?
RuntimeException
1
Привет, G1GC - это катастрофа на Mac. Кушает всю машину, требуя перезагрузки.
bmargulies
4
@VonC: -XX:CompileThreshold=5вызывает ужасные замедления для меня. Избавившись только от этой опции, я сократил время запуска Eclipse до 17 секунд с> 1 минуты !! Не говоря уже о том, насколько ужасно медленной была IDE в целом. Смотрите эту ссылку
TrinitronX
3
@TrinitronX: (и фактически все), -XX:CompileThreshold=5это очень низкое значение (по умолчанию = 10000). Это значение представляет количество вызовов методов / веток перед его компиляцией. Слишком низкое значение приведет к преждевременному заполнению вашего CodeCache, и консоль может сообщить: CodeCache is full. Compiler has been disabledпосле отключения компилятора вы заметите замедление работы приложения. Есть два способа исправить это: 1. Использовать -XX:CompileThreshold=1000(точно настроить это число) или 2. Попробуйте увеличить размер кэша кода, используя -XX:ReservedCodeCacheSize=64m(удвоение от 32 м по умолчанию)
Drupad Panchal
4
для linux используйте /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/i386/client/libjvm.so для местоположения jvm
r15habh
76
Настройки 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линии по:
Galileo поддерживает полностью относительные пути для рабочей области или виртуальной машины (избегайте необходимости изменять их из одной установки Eclipse в другую, если, конечно, ваша JVM и рабочая область остаются прежними)
Раньше эти относительные пути продолжали переписываться в абсолютные, когда Eclipse запускалась сама ...
Вы также можете скопировать каталог JRE установки Java JDK в свой каталог eclipse
Предостережения
Была ошибка с игнорируемыми точками останова, фактически связанная с JDK.
Используйте JDK6u16 или более позднюю версию для запуска затмения (затем вы можете определить столько JDK, которые вы хотите скомпилировать в eclipse: не потому, что вы запускаете затмение с JDK6, вам придется скомпилировать с тем же JDK).
Eclipse 3.3 поддерживает новый аргумент в пусковую: --launcher.XXMaxPermSize.
Если используемая виртуальная машина является виртуальной машиной Sun и -XX:MaxPermSize=аргумент виртуальной машины еще не задан, то программа запуска автоматически добавит -XX:MaxPermSize=256mсписок используемых аргументов виртуальной машины.
Средство запуска 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.префикс " ", это указывает, что аргумент используется самой программой запуска и был добавлен в конкретные параметры программы запуска, чтобы избежать конфликтов имен с аргументами приложения. (Другие примеры --launcher.library, --launcher.suppressErrors)
-vmargs -XX:MaxPermSize=384mЧасть аргумент передается непосредственно в VM, минуя пусковой целик и никакой проверки на поставщике VM не используется.
У меня была пара проблем с этим в последнем выпуске eclipse 3.5x64: .0.200.v20090520.jar также мне пришлось использовать jdk JAVA_HOME / bin / javaw, для плагина m2eclipse. В противном случае это безумно круто.
Натан Фегер
Разве эти двое не делают одно и то же? «--launcher.XXMaxPermSize 384m» и «-XX: MaxPermSize = 128m»
Игорь Зиновьев
@ Игорь Зиновьев: это немного избыточно, но оба могут быть полезны, в зависимости от платформы и версии затмения. Я сбросил их до того же значения и завершил свой ответ небольшим количеством документации, касающейся этих настроек.
На мой взгляд, лучшая настройка JVM всегда включает в себя самый последний JDK, который вы можете найти (на данный момент jdk1.6.0_b07 до b16, кроме b14 и b15 )
eclipse.ini
Даже с такими довольно низкими настройками памяти я могу запускать большие проекты Java (вместе с веб-сервером) на моем старом (2002) рабочем столе с 2Go RAM.
для чего -Xssv2m, когда я включаю его в настройки vm, eclipse не запустится, взглянул на документы по настройкам JVM, но не смог его найти
Крейг Ангус,
Правильно ... это была опечатка: Xss2m, а не Xssv2m: -Xss определяет размер стека: -Xss1024k. Если пространство в стеке слишком мало, в конечном итоге вы увидите класс исключения java.lang.StackOverflowError (здесь появляется мифическое сообщение об ошибке ;-))
VonC
Наконец-то дошли руки до использования второго набора настроек и удивились тому, насколько хорошо они работают!
Крейг Ангус
У вас была возможность использовать настройки некоторое время, затмение кажется быстрым, но сборка муравьев кажется медленнее ???
Крейг Ангус
@Craig Angus: странно, какую версию Eclipse вы используете? И какая версия муравья включена в него?
VonC
20
Настройки Eclipse Indigo 3.7.2 (64-разрядная версия Linux)
Настройки для Sun / Oracle java версии "1.6.0_31" и Eclipse 3.7, работающие на x86-64 Linux:
Обратите внимание, что при этом используется только 200 МБ для кучи и 150 МБ для не кучи. Если вы используете огромные плагины, вы можете увеличить как "-Xmx200m", так и "-XX: MaxPermSize = 150m".
Основной целью оптимизации для этих флагов было минимизировать задержку во всех случаях, а в качестве дополнительной цели оптимизации минимизировать использование памяти.
Работает фантастически для меня (хотя я удвоил значения для настроек, связанных с памятью, он все еще низок и быстро вспыхивает!)
Актау
У вас есть оба -XX: + UseConcMarkSweepGC и -XX: + UseParNewGC. Зачем? Я не думаю, что вы можете использовать оба сборщика мусора, и я не уверен, какой из них, наконец, привыкнет.
herman
Я думал, что -XX: + UseConcMarkSweepGC - для сборки мусора старого поколения, а -XX: + UseParNewGC - для сборки мусора eden.
Каждая опция и каждый аргумент опции должны быть в отдельной строке.
Джош Клемм,
14
-showlocation
Чтобы было проще запустить Eclipse дважды и знать, с какой рабочей областью вы имеете дело
Eclipse 3.6 добавляет опцию настроек, чтобы указать, что показывать для Workspace name (shown in window title)чего работает гораздо лучше, чем -showlocationпо трем причинам:
Вам не нужно перезапускать затмение, чтобы оно вступило в силу.
Вы можете выбрать короткий код.
Он появляется первым, перед перспективой и именем приложения.
Если вы собираетесь использовать обновление 14 для jdk6, я бы предложил использовать сборщик мусора G1, который, похоже, помогает повысить производительность.
Это для того, чтобы Eclipse использовал JDK в качестве среды по умолчанию?
Торбьерн Равн Андерсен
Это можно использовать, чтобы Eclipse использовал определенный / другой JDK в качестве среды по умолчанию.
Джилберто Олимпио
7
Вы также можете попробовать запустить с JRockit . Это JVM, оптимизированная для серверов, но многие долго работающие клиентские приложения, такие как IDE, очень хорошо работают на JRockit. Затмение не является исключением. У JRockit нет пермского пространства, поэтому вам не нужно его настраивать.
Можно установить целевое время паузы (мс), чтобы избежать длительных пауз gc, приводящих к остановке пользовательского интерфейса.
Я обычно не беспокоюсь об установке -Xmx и -Xms и позволяю JRockit увеличивать кучу, как она считает необходимым Если вы запустите приложение Eclipse с помощью JRockit, вы также сможете отслеживать, профилировать и обнаруживать утечки памяти в своем приложении с помощью набора инструментов JRockit Mission Control. Вы загружаете плагины с этого сайта обновления . Обратите внимание, работает только для Eclipse 3.3 и Eclipse 3.4
В прошлом я запустил затмение на JRockit и очень хорошо пробежал
Крейг Ангус
5
Вот мои собственные настройки для моего Eclipse, работающего на ноутбуке i7 2630M с 16 ГБ ОЗУ, этот параметр используется в течение недели без единого сбоя, а Eclipse 3.7 работает без сбоев.
eclipse.ini
настройки для Helios 3.6 находятся здесь (ниже, в новом ответе): stackoverflow.com/questions/142357/…Ответы:
Это снова время года: «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 могут быть задействованы).( Под «оптимизированным» я имею в виду возможность запуска полноценного Eclipse на нашей дрянной рабочей станции на работе, немного старого P4 2002 года с 2Go RAM и XPSp3. Но я также проверил те же самые настройки на Windows7 )
eclipse.ini
ВНИМАНИЕ : для платформ, отличных от Windows, используйте проприетарную опцию Sun
-XX:MaxPermSize
вместо проприетарной опции Eclipse--launcher.XXMaxPermSize
.То есть: если вы не используете последнюю версию 7 jdk6u21 . Смотрите раздел Oracle ниже.
Примечание:
адаптируйте
p2.reconciler.dropins.directory
к внешнему каталогу по вашему выбору.Посмотри это ответ . Идея состоит в том, чтобы иметь возможность добавлять новые плагины в каталог независимо от установки Eclipse.
В следующих разделах подробно описано, что в этом
eclipse.ini
файле.Страшный Oracle JVM 1.6u21 (до сборки 7) и Eclipse вылетает
Эндрю Нифер предупредил меня об этой ситуации и написал в блоге сообщение о нестандартном аргументе vm (
-XX:MaxPermSize
), что может привести к тому, что vms от других поставщиков вообще не запустится.Но затмение версия этого варианта (
--launcher.XXMaxPermSize
) не работает с новым JDK (6u21, если вы не используете 6u21 build 7, см. Ниже).окончательныйрешение есть на Eclipse Wiki и только для Helios на Windows с 6u21 pre build 7 :Вот и все. Здесь нет настроек для настройки (опять же, только для Helios в Windows с 6u21 pre build 7 ).
Для платформ, отличных от Windows, вам необходимо вернуться к частной опции Sun
-XX:MaxPermSize
.Проблема основана на одной регрессии: идентификация JVM завершается неудачно из-за ребрендинга Oracle в java.exe и запускает ошибку 319514 в Eclipse.
Эндрю позаботился об ошибке 320005 - [launcher]
--launcher.XXMaxPermSize: isSunVM
должен вернуть true для Oracle , но это будет только для Helios 3.6.1.Фрэнсис Upton , другой коммиттер затмение, отражается на всей ситуации .
Обновление u21b7, 27 июля :
Oracle регрессировал изменения для следующего выпуска Java 6 и не будет реализовывать его снова до JDK 7 .
Если вы используете jdk6u21 build 7 , вы можете вернуться к
--launcher.XXMaxPermSize
(опция eclipse) вместо-XX:MaxPermSize
(нестандартная опция). Автоматическое обнаружение происходит в C пусковой прокладки будет еще искать для "eclipse.exe
Sun Microsystems
» строку, но с 6u21b7, он теперь будет работать - снова.Пока я все еще сохраняю
-XX:MaxPermSize
версию (потому что я понятия не имею, когда все запустят затмение правильного JDK).Неявные `-startup` и` --launcher.library`
В отличие от предыдущих настроек, точный путь к этим модулям больше не задается, что удобно, так как он может различаться в разных выпусках Eclipse 3.6.x:
org.eclipse.equinox.launcher
пакет с самой высокой версией.plugins
каталоге соответствующийorg.eclipse.equinox.launcher.[platform]
фрагмент с самой высокой версией и использует общую библиотеку, названнуюeclipse_*
внутри.Используйте JDK6
JDK6 теперь явно требуется для запуска Eclipse:
Этот вопрос SO сообщает о положительном развитии для Mac OS.
+ UnlockExperimentalVMOptions
Следующие опции являются частью некоторых экспериментальных опций Sun JVM.
О них сообщалось в этом сообщении в блоге, чтобы потенциально ускорить Eclipse.
См. Все параметры JVM здесь, а также на официальной странице параметров Java Hotspot .
Примечание: подробный список этих опций сообщает, что
UseFastAccessorMethods
может быть активен по умолчанию.Смотрите также «Обновите свою JVM» :
Открытие файлов в Eclipse из командной строки
Смотрите сообщение в блоге Эндрю Нифера, сообщающее об этой новой опции:
См. Ошибку 301033 для справки. Первоначально ошибка 4922 (октябрь 2001 года, исправлена 9 лет спустя).
p2 и неподписанная диалоговая подсказка
Если вы устали от этого диалогового окна во время установки множества плагинов:
, добавьте в свой
eclipse.ini
:Смотрите этот пост от Криса Анищи и отчет об ошибке 235526 .
---------- 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
:Это было отслежено ошибкой 300577 , это было решено в этом другом SO вопросе .
Режим отладки
Подождите, в Eclipse есть несколько файлов настроек.
если вы добавите в свой
eclipse.ini
вариант:, вы включаете режим отладки, и Eclipse будет искать другой файл настроек:
.options
файл, в котором вы можете указать некоторые параметры OSGI.И это здорово, когда вы добавляете новые плагины через папку dropins.
Добавьте в свой файл .options следующие параметры, как описано в этом сообщении в блоге « Диагностика Dropins » :
Это происходит из-за ошибки 264924 - [Reconciler] Нет диагностики проблем с dropins , что в итоге решает следующую проблему, такую как:
Манифест Classpath
Смотрите этот пост в блоге :
Это означает, что некоторые из ваших проектов могут перестать компилироваться в Helios.
Если вы хотите вернуться к поведению Galileo, добавьте:
См. Ошибку 305037 , ошибку 313965 и ошибку 313890 для ссылок.
Стек IPV4
Этот вопрос SO упоминает потенциальное исправление, когда нет доступа к сайтам обновления плагинов:
Упомянутый здесь на всякий случай может помочь в вашей конфигурации.
JVM1.7x64 потенциальные оптимизации
Эта статья сообщает:
источник
-XX:CompileThreshold=5
вызывает ужасные замедления для меня. Избавившись только от этой опции, я сократил время запуска Eclipse до 17 секунд с> 1 минуты !! Не говоря уже о том, насколько ужасно медленной была IDE в целом. Смотрите эту ссылку-XX:CompileThreshold=5
это очень низкое значение (по умолчанию = 10000). Это значение представляет количество вызовов методов / веток перед его компиляцией. Слишком низкое значение приведет к преждевременному заполнению вашего CodeCache, и консоль может сообщить:CodeCache is full. Compiler has been disabled
после отключения компилятора вы заметите замедление работы приложения. Есть два способа исправить это: 1. Использовать-XX:CompileThreshold=1000
(точно настроить это число) или 2. Попробуйте увеличить размер кэша кода, используя-XX:ReservedCodeCacheSize=64m
(удвоение от 32 м по умолчанию)Настройки 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
линии по:eclipse.ini 3.5.1
Смотрите также мой оригинальный ответ выше для получения дополнительной информации.
Изменения (с июля 2009 г.)
org.eclipse.equinox.p2.reconciler.dropins.directory
опция.Раньше эти относительные пути продолжали переписываться в абсолютные, когда Eclipse запускалась сама ...
Предостережения
Была ошибка с игнорируемыми точками останова, фактически связанная с JDK.
Используйте JDK6u16 или более позднюю версию для запуска затмения (затем вы можете определить столько JDK, которые вы хотите скомпилировать в eclipse: не потому, что вы запускаете затмение с JDK6, вам придется скомпилировать с тем же JDK).
Максимум
Обратите внимание на использование:
Как описано в Eclipse Wiki ,
Как подробно в этой записи :
источник
Настройки 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.
См SO ответ GKelly в и запись в блоге Петра Gabryanczyk в более подробную информацию о новых возможностях.
Мониторинг
Вы также можете рассмотреть возможность запуска:
Как сказано в предыдущем вопросе о потреблении памяти .
источник
Настройки Eclipse Indigo 3.7.2 (64-разрядная версия Linux)
Настройки для Sun / Oracle java версии "1.6.0_31" и Eclipse 3.7, работающие на x86-64 Linux:
Обратите внимание, что при этом используется только 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» на:
Если вы используете Linux + Sun JDK / JRE 64bit , измените «-vm» на:
Это нормально работает на Ubuntu 8.10 и 9.04
источник
Вы также можете попробовать запустить с JRockit . Это JVM, оптимизированная для серверов, но многие долго работающие клиентские приложения, такие как IDE, очень хорошо работают на JRockit. Затмение не является исключением. У JRockit нет пермского пространства, поэтому вам не нужно его настраивать.
Можно установить целевое время паузы (мс), чтобы избежать длительных пауз gc, приводящих к остановке пользовательского интерфейса.
Я обычно не беспокоюсь об установке -Xmx и -Xms и позволяю JRockit увеличивать кучу, как она считает необходимым Если вы запустите приложение Eclipse с помощью JRockit, вы также сможете отслеживать, профилировать и обнаруживать утечки памяти в своем приложении с помощью набора инструментов JRockit Mission Control. Вы загружаете плагины с этого сайта обновления . Обратите внимание, работает только для Eclipse 3.3 и Eclipse 3.4
источник
Вот мои собственные настройки для моего Eclipse, работающего на ноутбуке i7 2630M с 16 ГБ ОЗУ, этот параметр используется в течение недели без единого сбоя, а Eclipse 3.7 работает без сбоев.
Расчеты: для Win 7 x64
источник
И эти настройки сработали как очарование для меня. Я использую OS X10.6, Eclipse 3.7 Indigo, JDK1.6.0_24
источник
Мои собственные настройки (Java 1.7, изменить для 1.6):
источник
Затмение любит много оперативной памяти. Используйте как минимум -Xmx512M. Больше, если доступно.
источник
Если вы похожи на меня и у вас были проблемы с текущей версией Oracle версии 1.6, вы можете обновить JDK или установить
, Более подробная информация доступна здесь: http://java.dzone.com/articles/latest-java-update-fixesисточник
XX: + UseParallelGC это самый крутой вариант когда-либо !!!
источник
-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
источник