Подтвердить что ты не робот

Eclipse использует 100% CPU в случайном порядке

Мой eclipse иногда начинает использовать 100% моего процессора очень спонтанно. Я не могу понять, почему для этого требуется много использования ЦП. Нет фоновой задачи, например, "рабочая область здания".

Через некоторое время загрузка процессора падает до 0, и все нормально.

Я не могу найти никакой информации, связанной с проблемой в файле workspace/.metadata/.log.

Кто-нибудь подскажет, как я могу понять, какая часть затмения использует процессор так сильно? Есть ли способ получить дамп потока eclipse? kill -3 в процессе затмения ничего не делает.

Версия Eclipse: Galileo JavaEE
Операционная система: Linux 2.6.31

4b9b3361

Ответ 1

Вы можете использовать visualvm для профилирования затмения, получения дампа кучи или дампа потока, просмотра потоков и т.д.

Ответ 2

Похоже на сбор мусора

Вы можете попробовать изменить настройки в своем eclipse.ini, возможно, с более высоким значением Xmx

--launcher.XXMaxPermSize
256m
-vmargs
-Xms256m
-Xmx1024m
-XX:PermSize=64m
-Xss1M
-server
-XX:+DoEscapeAnalysis
-XX:+UseConcMarkSweepGC

Ответ 3

Если у кого-то еще есть эта проблема, я исправил ее для себя. Установите опцию "проект автоматической сборки" в положение "выключено". Это должно удалить много процессора, используемого Eclipse.

Ответ 4

Просто добавьте следующую строку в vmargs в eclipse.ini

-XX:+DisableExplicitGC

Это предотвращает измельчение GC (причина использования 100% -ного использования ЦП)

Обратите внимание, что эта проблема по-прежнему сохраняется с выпуском Eclipse Oxygen. Это происходит, когда у вас слишком много плагинов и больших проектов для поддержки вашего оборудования.

Было бы неплохо, если бы Eclipse профилировал бы аппаратное обеспечение и сконфигурировал себя, чтобы предотвратить это.

Ответ 5

Для моей установки я заметил, что индикатор состояния кучи (Enabled VIA Window > Preferences "Show heap status" в разделе General) показывает меньше максимальной кучи, чем выделено в eclipse.ini(настройка -Xmx). Индикатор состояния подпрыгивал, указывая на то, что сбор мусора изо всех сил мешает сохранить память.

Увеличение начального/минимального размера кучи (настройка -Xms), похоже, заставило Eclipse/Java перестать пытаться управлять памятью как можно больше.

Ответ 6

Eclipse загружает и выгружает информацию из памяти всякий раз, когда это требуется. Если рабочее пространство велико, и вы работаете с несколькими проектами, а ваше затмение настроено на использование небольшого количества памяти, это нормально. Кто-то предложил выше изменить значения xmx и xms, чтобы ваше затмение использовало больше памяти (если доступно), я предлагаю, чтобы у обоих было одинаковое значение. Например, -Xms4048m и -Xmx4048m (или больше) в вашем файле eclipse.ini. Таким образом ваша система будет пытаться использовать это пространство после запуска вашей среды разработки, и сборщик мусора (GC) занимает меньше времени для обработки данных.