Как вы можете сделать работу с Eclipse быстрее?
Например: я отключаю все плагины, которые мне не нужны (Mylyn, Subclipse,…).
Вместо того, чтобы использовать плагин для Mercurial , я настраиваю TortoiseHG как внешний инструмент.
Три наиболее влиятельных фактора для скорости Eclipse:
- Используя последнюю версию Eclipse , (3.4 Ganimede на момент написания в 2008 году)
Обратите внимание , что Дэвид Balažic «s комментарий (июль 2014) противоречит тому , что критерии, которыми работал шесть лет назад:
«То же» рабочее пространство в Indigo (3.7.2) SR2 загружается за 4 секунды, в Kepler SR2 (4.3.2) за 7 секунд и в Luna (4.4.0) за 10 секунд. Все это пакеты Java EE. В более новых версиях больше плагинов, но тенденция все же очевидна. (Под «одним и тем же» рабочим пространством я имею в виду: используются те же (дополнительно установленные) плагины, те же проекты, извлеченные из системы контроля версий).
Запуск его с последней версией JDK (1.7 на момент написания, которая не мешает вам скомпилировать в своем проекте Eclipse с любым другим JDK, который вы хотите: 1.4.2, 1.5, 1.6 старше ...)
-vm jdk1.6.0_10\jre\bin\client\jvm.dll
Конфигурирование eclipse.ini (см. Этот вопрос для полного eclipse.ini )
-Xms128m -Xmx384m -XX:MaxPermSize=128m _# NOTE: this option is obsolete in Java 8, it will be ignored_ -Xss2m [...]
Xmx
Аргумент является объем памяти Eclipse , получите (в простых терминах). С -Xmx384m
, он получает 384 МБ оперативной памяти, с -Xmx4G
он получает 4 ГБ и т.д.
Замечания:
Ссылка на jvm.dll имеет преимущества:
- Заставка появится раньше.
- Eclipse.exe в списке процессов вместо java.exe.
- Брандмауэры: Eclipse хочет получить доступ к Интернету вместо Java.
- Проблемы брендинга управления окнами, особенно в Windows и Mac.
Но это также может иметь некоторые недостатки, если вы попытаетесь увеличить объем памяти .
Память по умолчанию, используемая Eclipse, представляет собой комбинацию MaxPermSize и Xmx . Здесь всего 512 МБ, чего вполне достаточно для 1 ГБ памяти компьютера.
libjava.so
: В Linux это libjava.so
зависит от libjvm.so
, но обратное неверно $ readelf -d libjava.so
Dynamic segment at offset 0x208a8 contains 25 entries:
Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libjvm.so] [...]
:: Когда библиотека содержит такую информацию, ld.so
будет загружаться libjvm.so
автоматически при загрузке процесса libjava.so
. Я даю ему тонну памяти (добавив -Xmx
переключатель в команду, которая ее запускает) и стараюсь не выходить и не перезапускать ее - я обнаружил, что худшие задержки при запуске, поэтому выделение ему большого объема ОЗУ позволяет мне продолжать работать дольше, прежде чем он падает вне.
Закройте все открытые проекты, которые не используются в данный момент.
Попробуйте отключить режим автоматической публикации во время разработки.
Eclipse загружает подключаемые модули лениво, и большинство распространенных подключаемых модулей, таких как Subclipse , ничего не делают, если не используют их. Они не замедляют Eclipse вообще во время выполнения, и это не поможет вам отключить их. Фактически, при правильном использовании Mylyn уменьшает объем памяти Eclipse.
Я запускаю Eclipse с тоннами плагинов без какого-либо снижения производительности вообще.
- Попробуйте отключить настройки компилятора, которые вам, возможно, не нужны (например, подопции в параметре «никогда не читаются»).
- Какую версию Eclipse вы используете? Известно, что более старые версии работают медленно, если вы обновляете их снова и снова, потому что в их папку с плагинами наполняются дублирующиеся плагины (с разными версиями). Это не проблема в версии 3.4.
- Используйте рабочие наборы. Они работают лучше, чем закрытие проектов, особенно если вам нужно постоянно переключаться между наборами проектов.
С помощью ключа -Xmx нужно увеличивать не только объем памяти, но и размер perm gen . Я думаю, что эта проблема была решена в Eclipse 3.4.
Единственный реальный способ ускорить Eclipse с помощью стандартных плагинов - это дать ему больше памяти и, в некоторых случаях, доступ к более быстрому объему памяти / дефрагментированному жесткому диску.
Кроме того, с точки зрения производительности мало что можно сделать: большинство стандартных плагинов не требуют постоянных затрат времени выполнения, даже Mylyn относительно быстр.
Также может помочь обновление до последней версии JVM, поддерживаемой на вашем компьютере.
Некоторые люди используют более ранние версии Eclipse, чтобы повысить производительность. Может также иметь смысл использовать Eclipse classic вместо официальных релизов.
Убедитесь, что вы используете Sun JVM для запуска Eclipse.
В Linux, в частности в Ubuntu, Eclipse по умолчанию устанавливается для использования GCJ с открытым исходным кодом, который имеет значительно более низкую производительность. Используйте update-alternatives --config java
для переключения на Sun JVM, чтобы значительно улучшить привязку пользовательского интерфейса в Eclipse.
java -version
должно быть что-то вроде openjdk version "1.8.0_131"
). Я считаю, что OpenJDK 9 приводит к худшей производительности (большая задержка) для многих задач. Еще один трюк - отключить автоматическую сборку.
Еще одно повышение производительности можно получить, отключив декорации надписей ( Windows -> Preferences; General -> Appearance -> Label Decorations
) и отключив неиспользуемые возможности при запуске ( Windows -> Preferences; General -> Startup and Shutdown
).
Вы также можете получить дополнительную производительность, выбрав другую стратегию сбора мусора в зависимости от вашей JVM.
Если вам надоели циклы перезапуска, вы можете использовать JavaRebel от ZeroTurnaround. Это сократит ваше время, затрачиваемое на перезапуски сервера / клиента.
Я отключил все неиспользуемые параметры в Windows> «Установки»> «Общие», и это оказывает огромное положительное влияние на производительность. Затмение по-прежнему происходит медленно при переключении вкладок, я не хочу увеличивать объем памяти, но при прокрутке это происходит намного быстрее. Спасибо за советы.
Я также настроил vmargs и прочее. Но что действительно ускорило Eclipse в Windows, так это «правильная» конфигурация антивирусного программного обеспечения. Вы должны отключить проверку упакованных файлов по требованию. JAR-файлы и многие файлы, связанные с Java, упакованы с помощью алгоритма PKZIP, чтобы сэкономить место. Поскольку Eclipse использует тонны java-файлов, антивирус пытается отдельно распаковать и проверить каждый из них. Для платформы Windows: отключите проверку упакованных файлов по требованию, в противном случае Eclipse будет работать слишком медленно. Пожалуйста, имейте в виду, что отключение этого, к сожалению, делает вашу систему более слабой против атак, большинство вредоносных программ используют упаковщики.
Есть еще одна вещь, которая действительно ускоряет Eclipse как в Windows, так и особенно в Linux - установка JVM на RAM-диск.
Для Windows вы можете использовать коммерческий драйвер RAM-диска от Qsoft .
Для Linux используйте любой из методов, описанных в многочисленных статьях в Интернете. Важно выделить дополнительное место на диске RAM, которое на 10% больше, чем размер JVM.
Проверьте это. Это действительно имеет значение.
grep -r
или, возможно, использовать vmtouch
для загрузки страниц в кэш fs? Отключите антивирусные сканеры или по крайней мере настройте любой антивирусный сканер так, чтобы он не проверял файлы JAR при доступе на чтение.
Спасибо за подсказки. Эти варианты (упомянутые выше) мне очень помогли:
Окна:
Увеличение памяти и относительно моей обновленной версии Java в eclipse.ini:
-Dosgi.requiredJavaVersion=1.6
-Xms512m
-Xmx512m
-XX:PermSize=512m
-XX:MaxPermSize=512M
-Xverify:none
Кроме того, поскольку мы оптимизируем скорость, установка -Xms
того же значения, что -Xmx
и JVM, запускается с максимальным объемом памяти, который ей разрешено использовать.
Linux / Ubuntu:
С помощью
update-alternatives --config java
-XmX
) зависит от памяти вашей системы. Когда я задал вопрос, 512m было оптимизированным значением для моего старого нетбука WinXP. Узнайте больше здесь: stackoverflow.com/questions/4304312/…Хотя не имеет прямого отношения к Eclipse:
Если вы работаете в Windows 7 (и, вероятно, в Windows Vista), обязательно отключите индексацию файлов в папке вашей рабочей области, если ваши материалы находятся в месте по умолчанию - вашей домашней папке. Windows по умолчанию индексирует все, что находится в вашей домашней папке, и это обычно просто трата рабочего пространства. (Щелкните правой кнопкой мыши папку рабочей области в проводнике, Свойства -> Дополнительно .)
Зайдите в Windows -> Настройки -> Проверка и снимите галочку с validators
того, что вам не нужно или не нужно.
Для Eclipse 3.7 вы используете Windows -> « Настройки» -> « Общие» -> « Запуск и завершение работы» .
Что ж, если вы разрабатываете приложение GWT с использованием Eclipse, то это так:
Ошибка нехватки памяти в Eclipse
Также не забудьте добавить те же аргументы VM в конфигурацию хост-режима.
Не стоит недооценивать иметь быструю машину. 16-32 ГБ ОЗУ, SSD и приличный процессор ... и вот так.
Если вы используете Maven и ivy, проверьте их консоли на случай, если они затягивают обработку во время сборок. Я использую ivy, и, кроме того, у меня есть определенные JAR-файлы (внутренние), меняющиеся с одной и той же версией, поэтому для их извлечения приходится постоянно тренироваться.
Если вы определили свой проект на сетевом диске, то вы также будете испытывать задержки во время процессов сборки / чтения / записи.
Отключить / удалить плагины, которые вам не нужны.
Близко, что вам не нужно
Закрыть неиспользуемые подключения к базе данных
Я реализовал плагин для настройки того, какие функции должны быть загружены во время выполнения, чтобы повысить производительность и уменьшить конфликт между различными плагинами.
Возможно, вы установили в Eclipse множество функций, таких как инструменты разработки Android, инструменты разработки C / C ++, плагины PHP , SVN , Git и ClearCase . Следовательно, Eclipse тяжелый и стоит много памяти, а некоторые из них используются не часто.
Таким образом, вы можете использовать мой инструмент для создания различных политик выполнения, например, с Android, Git и базовым Eclipse, другой с C / C ++, SVN и базовым Eclipse. В следующий раз Eclipse загрузит указанные функции, только если вы используете политику, в которой есть только Android и Git.
Вы можете попробовать и дать мне обратную связь. :)
Название этого инструмента - Equinox Advanced Configurator .
Наряду с новейшим программным обеспечением (последние версии Eclipse и Java) и большим объемом оперативной памяти, вам может понадобиться
- Удалите ненужные плагины (не всем нужны Mylyn и J2EE-версия Eclipse)
- нежелательные валидаторы
- отключить проверку орфографии
- закрыть неиспользуемые вкладки в редакторе Java (да, это помогает снизить нагрузку на Eclipse)
- закрыть неиспользуемые проекты
- отключить объявление нежелательной метки (SVN / CVS)
- отключить автоматическое построение
Постарайтесь настроить путь сборки. Завершение кода использует много памяти, если оно проходит через всю папку вашего проекта.
- Щелкните правой кнопкой мыши по вашему проекту и выберите настройки.
- Выберите настройки пути сборки и удалите папку проекта.
- Затем добавьте только папки, в которых у вас есть исходный код и код библиотеки.
В особых случаях плохая производительность может быть связана с повреждением баз данных h2 или nwire. Прочитайте Пять советов по ускорению Eclipse PDT и nWire для получения дополнительной информации.
Там, где я работаю, мы зависим от виртуальной машины для запуска Debian . Я установил другую версию Eclipse на виртуальной машине для тестирования намерений, но это иногда создает конфликты, если у меня запущена другая версия Eclipse. Существует общая папка, которую разделяют обе версии Eclipse. Я случайно оставил установку Debian Eclipse запущенной в фоновом режиме, и это дало мне поврежденные файлы базы данных.
Добавьте -Xverify:none
в свой файл eclipse.ini .
Это значительно сократит время запуска Eclipse (в моем случае 50%, если не больше). Это скажет виртуальной машине не проверять все файлы .class, которые она загружает.
Учтите это: никогда не отключайте проверку байт-кода в производственной системе (как указано в комментариях)
Я ощутил значительное улучшение производительности при ограничении количества открытых вкладок (в прошлом у меня часто было открыто более 30 вкладок). Вы можете позволить Eclipse обрабатывать это для вас автоматически:
Окно -> Настройки -> Редакторы -> автоматически закрывать редакторы
8 открытых вкладок - это количество до появления знака >>, поэтому я стараюсь оставить его на 8.
При открытии дополнительных вкладок те, к которым обращались в последнюю очередь, будут закрыты.
-> Когда все редакторы грязные или закреплены
Если в нем есть несохраненные изменения, вы можете предложить сохранить и использовать повторно (вкладка будет закрыта, на ее месте будет открыта новая). Или вы можете открыть новый конец редактора, увеличив таким образом количество открытых вкладок (ненавязчивый выбор).
Если вы хотите, чтобы некоторые вкладки никогда не закрывались автоматически, вы можете закрепить их. Для этого нажмите на значок булавки (самый правый значок на панели инструментов с «редактором булавок» в качестве всплывающей подсказки).
Если вы не привязаны к Eclipse по таким причинам, как работа, какой-то необходимый вам плагин \ функциональность, который доступен только через Eclipse и т. Д .; тогда одной из возможных стратегий является полное избавление от Eclipse. Это значительно ускорит процесс.
Вы можете переключиться на любую другую среду разработки или среду разработки, которая делает то, что вам нужно. Одним из примеров будет NetBeans . Некоторые предлагаемые ускорения также применимы к NetBeans или любой другой IDE в этом отношении.
Один из примеров, который относится непосредственно к Linux, - это максимально возможное перемещение на tmpfs
монтирование. Для разработки Java в NetBeans я переместил документацию и исходный код Java на tmpfs
монтирование, что привело к огромному повышению производительности.
Аналогично, во время разработки на C ++ я буду следить за тем, чтобы все дерево исходных текстов было в моем tmpfs
монтировании, если это возможно. Хотя я не проводил сравнительный тест производительности сборки, несколько тестов на базе кода разумного размера (несколько сотен исходных файлов + заголовки) привели к сокращению времени компиляции на> 50%.
Помните, что при использовании этого метода ваши данные не сохранятся во время потери питания. Для борьбы с этим можно было бы создать сценарий , который rsync
вляется tmpfs
монтирования какой - то резервный-каталог и добавьте этот скрипт как cronjob , который проходит каждую минуту.
Попробуйте тоже, это улучшит производительность:
очистка индексов - {путь к рабочей области} .metadata.plugins \ org.eclipse.jdt.core очистка истории - {путь к рабочей области} .metadata.plugins \ org.eclipse.core.resources.history
Очистка вышеуказанных папок не повлияет на файлы проекта.
Закройте наброски, чтобы ускорить переключение между редакторами.
Каждый раз, когда вы переключаетесь на другую вкладку или открываете файл, необходимо обновить вид структуры, что на моем компьютере занимало около 1 секунды каждый раз. Это всего лишь 1 секунда, но если вы будете часто менять вкладки, как я, это избавит вас от головной боли.
Я перепробовал множество перестановок, увеличив пространство кучи и изменив настройки сборщика мусора, чтобы ускорить Eclipse.
Но для моего локального развития, по моему скромному мнению, я видел, что отключение сборщика мусора JVM работает лучше всего для меня.
Функция автозаполнения Mylyn работает без проблем, а часть (не отвечает) была значительно уменьшена.
Ниже приведен снимок моего файла eclipse.ini .
-vm
--C:\JAVA\jre\bin\server\jvm.dll
C:\JAVA8x64\jre\bin\server\jvm.dll
-vmargs
-Xnoclassgc
-Dosgi.requiredJavaVersion=1.6
-Xms256m
-Xmx1024m
Я пытался использовать JDK 6 и JDK 8, и в обоих случаях заметил значительное ускорение.
-Xnoclassgc
также останавливает работу процессора, когда затмение бездействует **Tips for making Eclipse IDE Faster**
Eclipse будет работать быстрее при работе с небольшими проектами. Но когда вам придется работать с большим проектом, вы будете раздражены его скоростью. Даже с огромной оперативной памятью вы не будете довольны ее скоростью. Следующие шаги помогут затмению увеличить скорость
Удалите нежелательную активацию некоторых плагинов при запуске, перейдя в Windows -> предпочтения -> Общие -> Запуск и завершение работы, а также убедитесь, что вы не используете эти плагины ни в одном из ваших представлений.
Отключение украшений для ярлыков, которые менее полезны для вас, также поможет вам повысить производительность. Перейдите в Windows–> Настройки–> Общие–> Внешний вид–> Метка -> Декорации
Закрыть ненужные проекты и использование рабочего набора вариант для перехода от одной группы к другой проект гладко.
4.Confugure eclipse.ini, который будет доступен в месте установки eclipse.
Настройка eclipse.ini должна основываться на вашей оперативной памяти -Xms256m -Xmx512m -XX: PermSize = 512m -XX: MaxPermSize = 512M
Загляните на http://wiki.eclipse.org/Eclipse.ini, чтобы узнать больше о настройке eclipse.ini.
Не держите много вкладок, открытых в редакторе. Лучше иметь около 20 вкладок. Регулярно закрывайте неиспользуемые вкладки. Чтобы открыть ресурс, мы всегда можем использовать ctrl + shift + R и ctrl + shift + T (ресурс java) вместо того, чтобы открывать множество вкладок. Я испытал значительное улучшение производительности при ограничении количества открытых вкладок (в прошлом у меня часто было 30 + вкладки открыты). Вы можете позволить eclipse обрабатывать это автоматически: Window-> Preferences-> Editors-> closeавтоматически редактирует 8 открытых вкладок - это количество до появления знака >>, поэтому я установил значение 14 в качестве значения по умолчанию. При открытии дополнительных вкладок те, к которым обращались в последнюю очередь, будут закрыты. Когда все редакторы грязные или закреплены. Если в нем есть несохраненные изменения, вы можете предложить сохранить и использовать повторно (вкладка будет закрыта, на ее месте будет открыта новая). Или вы можете открыть новый конец редактора, увеличив таким образом количество открытых вкладок (ненавязчивый выбор). Если вы хотите, чтобы некоторые вкладки никогда не закрывались автоматически, вы можете закрепить их. Для этого нажмите на значок булавки (самый правый значок на панели инструментов с «редактором булавок» в качестве всплывающей подсказки).
Перейдите в Windows -> «Настройки» -> «Проверка» и снимите флажки с тех валидаторов, которые вам не нужны или не нужны.
Перейдите в Windows -> Настройки -> Общие -> Внешний вид -> и снимите флажки с любой анимации, которая вам не нужна или не нужна.
Перейдите в Windows -> Настройки -> Maven и установите флажок не обновлять автоматически.
Попробуйте это. Есть два способа.
Первая процедура
Сошлитесь на эту статью.
http://www.javacodegeeks.com/2014/06/the-real-way-to-make-eclipse-run-faster-on-ubuntu.html
Вторая процедура.
Выполните команду в терминале.
ramdisk
чтобы получить лучшую производительность и быстрый ответ для Ubuntu.
Рамдиск является частью системной памяти. Ubuntu по умолчанию использует половину физической памяти (RAM) в качестве ramdisk и монтируется на
/ DEV / ГИМ
, он может использоваться как обычное дисковое пространство (создавать файлы и папки и манипулировать ими с большей производительностью, если они хранятся на жестком диске). Если ramdisk использует более половины ОЗУ, данные будут перемещены в пространство подкачки. Если ramdisk использует меньше, оставшиеся могут делать то же, что и RAM.
Установить верхний предел виртуального диска
Как сказано выше, ramdisk по умолчанию может использовать половину оперативной памяти. Если вы хотите изменить верхний предел, выполните следующие действия:
Отредактируйте / etc / fstab вашим любимым редактором:
gksudo gedit / etc / fstab
Найдите эту строку и измените ее, чтобы она выглядела следующим образом (добавьте эту строку, если она не существует, и измените 512M на то, что вам нравится.):
tmpfs / dev / shm tmpfs по умолчанию, размер = 512M 0 0
Перезагрузка или повторная установка
/ DEV / ГИМ
Смонтировать / tmp на виртуальный диск
Чтобы сделать его простым в использовании, вы можете смонтировать каталог в
/dev/shm
с помощью следующих команд:
mkdir / dev / shm / tmp
chmod 1777 / dev / shm / tmp
mount --bind / dev / shm / tmp / tmp