1

У меня есть сложное рабочее пространство, настроенное со многими проектами eclipse в моем каталоге рабочего пространства. В целом размер каталога рабочей области составляет чуть более гигабайта, с каталогом .svn из subversion - колоссальные 0,4 гига, каталог eclipse .metadata - всего 0,16 гигабайта, а сами проекты занимают остальное. Когда я открываю Eclipse, чтобы просто немного редактировать, использование памяти огромно - около 1,5 гигабайта. Теперь вот интересная часть. Я запускаю экземпляр JConsole, чтобы взглянуть на JVM и его 800 Мег. Я заставляю сборщик мусора и уменьшаю его до 400 Мег. Но, когда я смотрю на использование системной памяти в диспетчере задач Windows, процесс затмения все еще использует 1,5 гигабайта. Теперь это означает, что большая часть памяти - системная память, а не от JVM. Когда это может произойти? Хорошо в нескольких случаях. Например, приложение может использовать собственные библиотеки, которые выделяют память. Но вот проблема, как мне добраться до сути этого? Я попытался с помощью внутренних инструментов sys, таких как RAMMAP, ProcessExplorer и VMMAP, посмотреть, смогу ли я узнать, что, черт возьми, затмевает из системы и как его остановить?

Есть идеи? Можно сказать, что это использование памяти ожидается. Если мои проекты составляют 400Meg. Затмение, очевидно, идет, чтобы жевать память. Но, забавно, если я удалю все эти проекты, разницы нет.

Примечание: плагины, которые я использую, являются стандартными m2e, pmd и subclipe. Версия Eclipse - индиго. JDK 1.6.

PS извините за длинный вопрос, надеюсь, я объяснил это хорошо.

1 ответ1

1

Удалите функцию Встроенная автоматически для всех проектов в вашем рабочем пространстве. Если ваш проект построен с помощью ant, измените его на Ant Builder, а не на Java по умолчанию. Если ваш проект основан на Maven, используйте Maven для сборки.

По сути, Eclipse отслеживает все ваши проекты, и когда вы сохраняете изменения, он пытается компилировать и создавать этот проект.

Если это не решит проблему. Закройте все другие проекты, над которыми вы не работаете, и оставьте открытым только модуль / проект, над которым вы активно работаете!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .