虽然我发现了类似的问题,但我似乎已经没有任何建议,并且想过要求SO留下我要做的事情。
我在使用Eclipse时内存不足,并且在几个小时后开始爬行到我必须强制退出的程度。最初它会挂起并说“堆空间内存不足”。我在SO上搜索了类似的内容:
Eclipse indexer hangs with 100% cpu
Eclipse running out of memory
Eclipse java heap space out of memory
所以我开始纳入所有建议,但改进可以忽略不计。以下是我目前的所有变化。
我一直在用 eclipse -debug .options 运行eclipse,所以我可以查看内存使用情况
.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 - >自动构建,因为任何更改都会暂时挂起并构建工作区
我还更新了历史记录选项(窗口 - >首选项 - >常规 - >工作区 - >本地历史记录)
Days to Keep files: 1
Maximum entries per file: 50
Maximum file size (MB): 1
最后,在资源过滤器(项目 - >属性 - >资源 - >资源过滤器)中,我告诉它忽略与* dox匹配的索引文件和文件夹
Exclude all: Name matches *dox (file and folders)
当它开始变得超慢时,我会点击ctrl + \我运行eclipse,我会看到它使用100%的堆空间。试图将最大大小(-Xmx)增加到超过2048 MB会导致它抱怨它无法启动VM,但我想知道这是不是我给它多少空间的情况。
我保持进度窗口打开,这样我就可以看到它正在尝试做什么,并且通常它在索引时似乎变慢,但是当它爬行时,它会非常糟糕,只是滚动似乎让它挂起。我通常别无选择,只能关闭Eclipse并重新打开(约2小时后)。
还有什么可以尝试的?这只是一个记忆问题吗?还有什么可以让我发现它为什么开始爬行?
这是在Ubuntu 12.04和Eclipse 3.7.2以及Java OpenJDK 1.6.0_30-b30
答案 0 :(得分:6)
经过1个月的CDT-Eclipse工作,我突然遇到了同样的问题。我试图增加内存参数,卸载插件等,但没有结果。但是,我找到了非常有用的建议:
"无论何时为Mozilla源树创建新工作区,都可以 应确保在工作区中关闭以下两个设置 首选项(Window> Preferences,或Eclipse> Preferences)之前 在该工作空间中创建项目:
- 在"一般>工作区",禁用"自动构建"
- 在" C / C ++> Indexer",禁用"自动更新索引"
https://developer.mozilla.org/en-US/docs/Eclipse_CDT
我的问题消失了。
答案 1 :(得分:1)
它可能是一个特定的附加组件。您应该将它们全部删除,然后尝试逐个添加它们。我使用某个代码覆盖插件经历了同样的行为,现在无法记住哪一个。无论如何,试一试,看看你是否可以确定它是哪一个。然后你只需要找到一个替代的附加组件,你可以使用它。