Ott*_*mee 1 java eclipse memory
虽然我发现了类似的问题,但我似乎已经没有任何建议,并且想过要求SO留下我要做的事情.
我在使用Eclipse的时候内存不足,它在几个小时后开始爬行到我必须强制退出的程度.最初它会挂起并说"堆空间内存不足".我在SO上搜索过类似的东西:
Eclipse indexer hangs with 100% cpu
Eclipse running out of memory
Eclipse java heap space out of memory
Run Code Online (Sandbox Code Playgroud)
所以我开始考虑所有建议,但改进可以忽略不计.以下是我目前的所有变化.
我一直在使用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
Run Code Online (Sandbox Code Playgroud)
我已经更新了我的/etc/eclipse.ini文件(在-Xmx384m之前,所以最大尺寸现在要大得多)
openFile
-vmargs
-XX:MaxPermSize=256m
-Xms40m
-Xmx2048m
Run Code Online (Sandbox Code Playgroud)
我还更新了索引器选项(Window - > Preferences - > C/C++ - > Indexer)
Cache limit relative to heap size: 25%
Absolute limit: 256 MB
Header file cache: 256 MB
Run Code Online (Sandbox Code Playgroud)
我还取消选中Project - > Build Automatically,因为在任何更改时它都会暂时挂起并构建工作区
我还更新了历史记录选项(窗口 - >首选项 - >常规 - >工作区 - >本地历史记录)
Days to Keep files: 1
Maximum entries per file: 50
Maximum file size (MB): 1
Run Code Online (Sandbox Code Playgroud)
最后,在资源过滤器(项目 - >属性 - >资源 - >资源过滤器)中,我告诉它忽略与*dox匹配的索引文件和文件夹
Exclude all: Name matches *dox (file and folders)
Run Code Online (Sandbox Code Playgroud)
当它开始变得非常慢时我会点击ctrl + \我运行eclipse并且我会看到它使用100%的堆空间.试图将最大大小(-Xmx)增加到超过2048 MB会导致它抱怨它无法启动VM,但我想知道这是不是我给它多少空间的情况.
我保持进度窗口打开,这样我就可以看到它正在尝试做什么,并且通常在索引时看起来会变慢,但是当它爬行时,它会非常糟糕,仅滚动似乎会让它挂起.我通常别无选择,只能关闭Eclipse并重新打开(约2小时后).
还有什么可以尝试的?这只是一个记忆问题吗?还有什么可以让我发现它为什么开始爬行?
这是在Ubuntu 12.04和Eclipse 3.7.2以及Java OpenJDK 1.6.0_30-b30上
经过1个月的CDT-Eclipse工作,我突然遇到了同样的问题.我试图增加内存参数,卸载插件等,但没有结果.但我找到了非常有用的建议:
"每当为Mozilla源代码树创建新工作区时,在该工作区中创建项目之前,应确保在工作区首选项("窗口">"首选项"或"Eclipse">"首选项")中关闭以下两个设置:
- 在"常规"中>工作区",禁用"自动构建"
- 在"C/C++>索引器"中,禁用"自动更新索引"
https://developer.mozilla.org/en-US/docs/Eclipse_CDT
我的问题消失了.
归档时间: |
|
查看次数: |
12547 次 |
最近记录: |