Затмению хватает памяти и работает медленно

1

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

У меня заканчивается память при использовании Eclipse, и он начинает сканироваться через пару часов до того момента, когда мне нужно принудительно выйти. Первоначально он зависал и говорил такие вещи, как "пустое место из памяти". Я искал SO для таких вещей, как:

Eclipse indexer hangs with 100% cpu
Eclipse running out of memory
Eclipse java heap space out of memory

Поэтому я начал включать все предложения с незначительным улучшением. Вот все мои текущие изменения.

Я запускаю eclipse с eclipse -debug., Поэтому я могу проверить использование памяти

где файл.options имеет:

org.eclipse.cdt.core/debug/pdomtimings=true
org.eclipse.cdt.core/debug/indexer=true
org.eclipse.cdt.core/debug/parser=true
org.eclipse.cdt.core/debug/deltaprocessor=true
org.eclipse.cdt.core/debug/scanner=true
org.eclipse.cdt.core/debug/model=true

Я обновил файл /etc/eclipse.ini, чтобы сказать (был до -Xmx384m, поэтому максимальный размер теперь намного больше)

openFile
-vmargs
-XX:MaxPermSize=256m
-Xms40m
-Xmx2048m

Я также обновил параметры индексатора (Window → Preferences → C/C++ → Indexer)

Cache limit relative to heap size: 25%
Absolute limit: 256 MB
Header file cache: 256 MB

Я также снял флажок Project → Build Automatically, потому что при любом изменении он мгновенно зависает и создает рабочую область

Я также обновил параметры истории (Window → Preferences → General → Workspace → Local History)

Days to Keep files: 1
Maximum entries per file: 50
Maximum file size (MB): 1

Наконец, в фильтре ресурсов (Project → Properties → Resource → Resource Filters) я сказал ему игнорировать файлы и папки индексирования, соответствующие * dox

Exclude all: Name matches *dox (file and folders)

Когда он начнет получать супер медленный, я нажму Ctrl + \, где я запустил eclipse, и я увижу, что он использует 100% пространства кучи. Попытка увеличить максимальный размер (-Xmx) за пределами 2048 МБ приводит к тому, что он жалуется на то, что он не может запустить виртуальную машину, но мне интересно, не это ли это случай, когда я могу это сделать.

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

Что еще осталось попробовать? Это только проблема памяти? Что еще может привести меня к выяснению, почему она начинает ползать?

Это на Ubuntu 12.04 и Eclipse 3.7.2 и Java OpenJDK 1.6.0_30-b30

Теги:
memory

2 ответа

5

После 1 месяца приятной работы CDT-Eclipse я вдруг столкнулся с той же проблемой. Я попытался увеличить параметры памяти, удалить плагины и т.д., Но безрезультатно. Но чем я нашел действительно полезный совет:

"Всякий раз, когда вы создаете новое рабочее пространство для исходного дерева Mozilla, вы должны отключить следующие два параметра в настройках рабочей области (Window> Preferences или Eclipse> Preferences) перед созданием проекта в этом рабочем пространстве:
- в разделе "Общие"> "Рабочее пространство" отключить "Сборка автоматически",
- в "C/C++> Indexer", отключить "Автоматическое обновление индекса",
https://developer.mozilla.org/en-US/docs/Eclipse_CDT

И моя проблема исчезла.

1

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

  • 2
    Это наиболее вероятное решение. Когда затмение сходит с ума, обычно это дополнения. У вас есть два решения: увеличить доступную память, которая действительна, если вы используете много надстроек, и ни одно из них не слишком оскорбительно для памяти. Другое решение, упомянутое Скоттом, состоит в том, чтобы начать удаление и переустановку, чтобы изолировать проблему. Если вы резко увеличили объем памяти (512, 1024), и она все еще работает, но занимает больше времени, это действительно звучит как негерметичное дополнение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню