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

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
34
задан einpoklum - reinstate Monica 27 February 2013 в 11:25
поделиться

12 ответов

Я не знаю о Eclipse а именно, я использую IntelliJ, который также переносит из памяти рост (используете ли Вы активно его или нет!). Так или иначе, в IntelliJ, я не мог устранить проблему, но я действительно замедлял рост памяти путем игры с опциями VM во время выполнения. Вы могли попытаться сбросить их в Eclipse и видеть, имеют ли они значение.

можно отредактировать опции VM в файле eclipse.ini в папке затмения.

я нашел, что (в IntelliJ) настройки сборщика "мусора" имели большую часть эффекта на то, как быстро память растет.

Мои настройки:

-Xms128m
-Xmx512m
-XX:MaxPermSize=120m
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing

(См. http://piotrga.wordpress.com/2006/12/12/intellij-and-garbage-collection/ для объяснения отдельных настроек). Как Вы видите, я более обеспокоен предотвращением длинных пауз во время редактирования, чем actuial использование памяти, но Вы могли использовать это в качестве запуска.

34
ответ дан GKelly 27 November 2019 в 16:58
поделиться

Я обычно даю Eclipse 512 МБ RAM (использующий-Xmx опцию JVM), и у меня нет проблем памяти с Ganymede. Я обновил до двух ГБ RAM несколько месяцев назад, и я могу действительно рекомендовать его. Это имеет огромное значение.

0
ответ дан Johannes K. Lehnert 27 November 2019 в 16:58
поделиться

Ну, Вы не определяете, на которой платформе это происходит. Управление памятью может варьироваться при использовании Windows XP, Vista, Linux, OS X...

Обычно, на моем компьютере (WinXP с 1 ГБ Ram), Eclipse редко берет больше чем 200 МБ, depengin размера открытых проектов, загруженных плагинов и продолжающегося действия.

0
ответ дан gizmo 27 November 2019 в 16:58
поделиться

RAM является относительно дешевой (не, что это - оправдание за плохую память managmentment). Неиспользованная память является по существу ПОТРАЧЕННОЙ ВПУСТУЮ памятью. Если Вы поражаете пределы, и IDE является проблемой, рассматривают меньше многозадачности, корректируя Вашу память reqs, или покупают больше. Я не нанес бы вред Eclipse, если это - Ваш повседневный IDE.

1
ответ дан basszero 27 November 2019 в 16:58
поделиться

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

Проверка блог здесь: "потребление памяти анализа затмения"

С уважением, Markus

1
ответ дан kohlerm 27 November 2019 в 16:58
поделиться

Eclipse является симпатичным чрезмерно увеличенным в размерах IDE. Можно минимизировать его путем превращения автоматического здания проекта в соответствии с Проектом-> Сборка Автоматически. Этому также можно помочь путем закрытия любого открытого проекта, Вы в настоящее время не продолжаете работать.

2
ответ дан 27 November 2019 в 16:58
поделиться

Eclipse отдельно довольно чрезмерно увеличен в размере, и больше плагинов, которые Вы добавляете только, усиливает ситуацию. Это - все еще мой любимый IDE, поскольку это, конечно, не коротко на функциональности, но если бы Вы ищете легкий IDE тогда, я предложил бы угробить Eclipse; довольно нормально увеличить половину концерта памяти при отъезде его работающий некоторое время.

2
ответ дан Magsol 27 November 2019 в 16:58
поделиться

Плагины EE Ganymede Java абсолютно огромны при выполнении в памяти. Кроме того, у меня были неудачные опыты с FindBugs и его надежностью по долгой сессии кодирования.

, Если Вы не можете жить без этих плагинов, хотя, тогда Ваше единственное обращение за помощью должно запустить заключительные проекты. При ограничении количества открытый проекты в рабочей области компилятор (и FindBugs) будет иметь меньше для волнения о, и использование памяти отбросит чрезвычайно.

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

3
ответ дан Daniel Spiewak 27 November 2019 в 16:58
поделиться

Только для получения информации,

  • можно добавить

    -Dcom.sun.management.jmxremote

в файл eclise.ini, затмение запуска и затем контролировать его использование памяти через 'jconsole.exe', найденный в jdk установке.

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

Выбирают 'Соединение / Новое соединение / 'затмение' для контроля памяти, используемой затмением

  • всегда, использует последний jvm для запуска затмения (который не предотвращает Вас для использования любого другого JFK для компиляции проекта в затмении)
3
ответ дан VonC 27 November 2019 в 16:58
поделиться

Я не думаю, что JVM делает большую сборку "мусора", если это не имеет к (т.е. это добирается до своих пределов). Поэтому это захватывает всю память, которую это может получить, вероятно, до предельного набора в eclipse.ini (-Xmx аргумент, установить на 512 МиБ здесь).

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

3
ответ дан Henrik Heimbuerger 27 November 2019 в 16:58
поделиться

Я назвал бы чрезмерно увеличенным в размере, но не текучий. (Если бы это было текучим, то это поднялось бы и поднялось бы, пока что-то не отказало.) Как другие сказали, память дешева! Это походит на простое решение мне: потратьте крошечный бит на большую память по сравнению с, теряют производительность, потому что у Вас нет бюджета памяти для выполнения Eclipse 500 МБ.

Итоговый риторический вопрос: , Что более ценно:

  1. производительность получила от использования IDE, который Вы знаете с плагинами, которые Вы хотите, или
  2. Расходы $50-200 на некоторой памяти?
2
ответ дан Jason Plank 27 November 2019 в 16:58
поделиться

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

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

Есть ли какая-то конкретная причина, по которой вы беспокоитесь об использовании памяти?

-1
ответ дан 27 November 2019 в 16:58
поделиться