Как уменьшить использование памяти Eclipse?

Использование памяти Eclipse 3.4 происходит через крышу до такой степени, что она становится проблемой.

У меня есть простой проект BlackBerry, и его использование увеличивается до 400 Мбайт, а иногда и выше. Есть ли что-то, что можно сделать, чтобы сбить его?

Ответ 1

Eclipse 3.4 может потреблять гораздо больше памяти, чем предыдущие версии, любезно подключить плагин проверки.

Вы можете отключить подключаемый модуль, перейдя в Window → Preferences → General → Editors → Text Editors → Spelling и снимите отметку с заголовка окна "Включить проверку орфографии".

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

Ответ 2

В то время как вы, вероятно, можете переделывать конфигурацию, удаляя различные плагины и т.д., скорее всего, будет более экономически выгодно покупать больше памяти. Сколько у вас сейчас? Я бы подумал о том, что разработчик с объемом памяти менее 2 ГБ находится под спецификацией, и я подозреваю, что многие люди удвоят это...

Ответ 3

My Eclipse берет 800-мегабайтный резидент, а 2GB виртуальный (часть его поменялась, возможно). Java может быть свиноматкой, она все время дарит Java плохую печать.

Однако есть кое-что, что многие люди не знают: инкрементный сборщик мусора. -Xincgc Побочным эффектом является то, что время от времени он возвращает память в систему. По умолчанию Java просто берет и принимает, и когда он больше не нуждается в памяти, он сохраняет его для себя. Incgc - это другая стратегия, где становится разумнее предположить, что память может быть возвращена системе без проблем. Это может повлиять на производительность.

Существует множество настроек сбора мусора. Вы также можете иметь несколько потоков, обрабатывающих GC. Параллельный GC делает это. Не уверен, что тот вернет память, не думайте так.

Ответ 4

В современных версиях Eclipse требуется довольно много оперативной памяти для выполнения своих задач. Но все равно нужно работать довольно быстро на любой современной машине.

Предполагая, что у вас достаточно физической памяти (2 ГБ в порядке, если у вас не много других запущенных процессов или вы используете RAD), см. эту статью в Использование памяти Eclipse для получения некоторых советов по настройке настроек. Два наиболее распространенных виновника: Xmx и/или MaxPermSize установлены слишком низко (по умолчанию Xmx имеет значение 256M и MaxPermSize по умолчанию - 64M).

Вы изменяете значения, передавая аргументы командной строки или настраивая eclipse.ini в месте установки Eclipse.

У вас должно получиться что-то вроде этого:

...
-vmargs
-Xms128m
-Xmx1024m 
-XX:MaxPermSize=128m

Ответ 5

Проверка General -> Show heap status позволит это

Строка состояния кучи Eclipse

в нижней панели. Таким образом, вы можете вручную запустить сборщик мусора, когда захотите, щелкнув мусорную корзину. Это не исправление, больше похоже на обходной путь, но это помогло значительно уменьшить объем использования ОЗУ/ЦП.

Ответ 6

Если 400 МБ ОЗУ - большая проблема для вас, возможно, вы захотите попробовать другую среду IDE. Eclipse хранит много информации о состоянии, некоторые или большинство из которых вам действительно не нужны. Это выбор дизайна.

Прямо сейчас у меня есть тот же проект, открытый как в Eclipse, так и в QtCreator: после чистого восстановления Eclipse использует 156 Мб ОЗУ, Qt Creator довольна 66 Мб.

Ответ 7

Вы можете попробовать 64-битную версию Eclipse с 64-разрядной версией JDK в Windows 7. Эти проблемы вызвали некоторые нечетные проблемы с третьей стороной Framework, с которой я должен работать. Теперь 32-битный JRockit (свободный сейчас) от Oracle кажется более быстрым и немного лучше в памяти. Это мои настройки Eclipse.ini:

Это моя затмение в гостинице

-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222
-nosplash
org.eclipse.platform
--launcher.XXPermSize
512m
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-vm
C:/Program Files (x86)/Java/jrockit-jdk1.6.0_31-R28.2.3-4.1.0/jre/bin
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Xquickstart
-XX:+AggressiveHeap
-XX:+AggressiveOpts
-XX:+UseParallelOldGC
-XX:ParallelGCThreads=2
-XX:ThreadPriorityPolicy=1
-Xverify:none
-Xms1100m
-Xmx1100m

Я переключился на 32-битный JRockit JDK, который кажется немного быстрее для Eclipse. Я выключаю и не устанавливаю больше, чем мне нужно. Для каждого отдельного типа разработки приложений (Android, J2EE, только Spring,...) У меня разные установки Eclipse. Место на жестком диске дешево. Тогда у меня могут быть только плагины, которые мне нужны для каждого. Я бы никогда не захотел загружать все инструменты Android, если бы я их не использовал. STS также хорош для всего лишь материала Spring, и у меня есть его для работы в OpenShift Cloud.

Ответ 8

В Eclipse Luna 4.4.1 Я пытался сократить использование памяти в Eclipse. Мне удалось побрить меня с 600 мб до 300 мб. Я сделал следующее:

  • Отключенные плагины, активированные при запуске, которые я не использовал. Windows > Предпочтения > Общие > Запуск и завершение работы

  • Закрытые проекты, в которые я тогда не работал.

Найдена подсказки/советы здесь: http://blog.elijaa.org/2010/09/20/tricks-to-speed-up-eclipse-php-helios-pdt-2-2/