java - Eclipse 内存不足且运行缓慢

标签 java eclipse memory

虽然我发现了类似的问题,但我似乎已经没有什么建议了,我想问问 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

我还更新了索引器选项(窗口 -> 首选项 -> C/C++ -> 索引器)

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

我还取消选中 Project -> Build Automatically 因为在任何更改时它都会暂时挂起并构建工作区

我还更新了历史选项(窗口 -> 首选项 -> 常规 -> 工作区 -> 本地历史)

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

最后,在资源过滤器(项目 -> 属性 -> 资源 -> 资源过滤器)中,我告诉它忽略匹配 *dox 的索引文件和文件夹

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

当它开始变得 super 慢时,我会在我运行 eclipse 的地方按下 ctrl +\,我会看到它使用了 100% 的堆空间。尝试将最大大小 (-Xmx) 增加到 2048 MB 以上会导致它提示无法启动 VM,但我想知道这是否不是我给它提供多少空间的问题。

我让进度窗口保持打开状态,这样我就可以看到它正在尝试做什么,通常它在索引时似乎变慢了,但是当它爬行时,它会非常糟糕,以至于仅仅滚动似乎就会让它挂起。我通常别无选择,只能关闭 Eclipse 并重新打开(大约 2 小时后)。

还有什么可以尝试的?这仅仅是内存问题吗?还有什么可以让我发现它开始爬行的原因?

这是在 Ubuntu 12.04 和 Eclipse 3.7.2 以及 Java OpenJDK 1.6.0_30-b30 上

最佳答案

经过 1 个月的出色 CDT-Eclipse 工作后,我今天突然遇到了同样的问题。我曾尝试增加内存参数,卸载插件等但无果。但比我发现真正有用的建议:

"Whenever you create a new workspace for a Mozilla source tree, you should be sure to turn off the following two settings in the workspace preferences (Window > Preferences, or Eclipse > Preferences) before creating a project in that workspace:
- in "General > Workspace", disable "Build automatically"
- in "C/C++ > Indexer", disable "Automatically update the index"
https://developer.mozilla.org/en-US/docs/Eclipse_CDT

我的问题消失了。

关于java - Eclipse 内存不足且运行缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22640870/

相关文章:

java.net.SocketException : Software caused connection abort: recv failed; Causes and cures? 异常

android - 如何在Android上的rdf sesame中添加本体文件?

eclipse - 如何将特定键绑定(bind)到 Eclipse 中的不同启动配置?

eclipse - 从 NetBeans 迁移到 Eclipse

javascript - 当浏览器窗口关闭时,表单/JavaScript 数据会发生什么?

java - Java 最终字段值的 ‘up to date’ 保证是否扩展到间接引用?

从 AXIS 迁移到 CXF 后,javax.xml.ws.soap.SOAPFaultException : Unmarshalling Error: unexpected element (uri :"", 本地 :"fault")

java - 递增和递减不起作用

c++ - 在类中声明一个指针,但在另一个线程中初始化

java - 关联表的 JPA 映射,其中实体之一具有组合键