Java Eclipse内存不足且运行缓慢

Java Eclipse内存不足且运行缓慢,java,eclipse,memory,Java,Eclipse,Memory,虽然我也发现了类似的问题,但我似乎已经没有什么建议了,我想问问自己还有什么要做 我在使用Eclipse时内存不足,几个小时后它开始爬行,我不得不强制退出。最初它会挂起并说“堆出内存空间”之类的话 Eclipse indexer hangs with 100% cpu Eclipse running out of memory Eclipse java heap space out of memory 因此,我开始采纳所有的建议,但改进微乎其微。这是我目前所有的变化 我一直在使用eclipse-

虽然我也发现了类似的问题,但我似乎已经没有什么建议了,我想问问自己还有什么要做

我在使用Eclipse时内存不足,几个小时后它开始爬行,我不得不强制退出。最初它会挂起并说“堆出内存空间”之类的话

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,所以现在的最大大小要大得多)

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

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

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

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

Exclude all: Name matches *dox (file and folders)
当它开始变得非常慢时,我将按ctrl+\运行eclipse,我将看到它使用了100%的堆空间。试图将最大大小(-Xmx)增加到2048MB以上会导致它抱怨无法启动VM,但我想知道这是否不是我给它多少空间的问题

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

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


这是在Ubuntu12.04、Eclipse3.7.2和JavaOpenJDK1.6.0_30-b30上,它可能是一个特定的附加组件。您应该将它们全部删除,然后尝试将它们逐个添加回去。我在某个代码覆盖率插件中也经历过类似的行为,现在不记得是哪一个了。无论如何,试一下,看看你是否能确定它是哪一个。然后,您只需为该插件找到一些替代插件,您可以使用它。

它可能是一个特定的插件。您应该将它们全部删除,然后尝试将它们逐个添加回去。我在某个代码覆盖率插件中也经历过类似的行为,现在不记得是哪一个了。无论如何,试一下,看看你是否能确定它是哪一个。然后,您只需要为该插件找到一些替代插件,您可以使用它。

在出色地完成了一个月的CDT Eclipse工作后,我今天突然遇到了同样的问题。我曾试图增加内存参数,卸载插件等,但没有结果。但我发现了非常有用的建议:

“无论何时为Mozilla源代码树创建新工作区,您都可以 应确保关闭工作区中的以下两个设置 之前的首选项(窗口>首选项,或Eclipse>首选项) 在该工作区中创建项目:
-在“常规>工作区”中,禁用“自动生成”
-在“C/C++>索引器”中,禁用“自动更新索引”


我的问题消失了。

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

“无论何时为Mozilla源代码树创建新工作区,您都可以 应确保关闭工作区中的以下两个设置 之前的首选项(窗口>首选项,或Eclipse>首选项) 在该工作区中创建项目:
-在“常规>工作区”中,禁用“自动生成”
-在“C/C++>索引器”中,禁用“自动更新索引”


我的问题消失了。

2048是个大问题,但你的问题显示256,你试过512了吗?在安装了很多插件之后,我不得不用512 MaxPermSize运行eclipse。试着禁用所有插件,看看是否有什么不同。也许有什么东西在泄漏内存。你能试着分析一下eclipse,看看是什么导致了速度变慢吗?@BradGardner我最近添加了MaxPermSize=256,看看它是否起到了作用(索引器的最大内存过去是512 mb),而它似乎所做的只是降低内存限制的值reached@MeIr如果插件与插件相同,要帮助->关于Eclipse平台->安装细节->插件,有很多(300?),但我自己没有添加任何插件。我使用Ubuntu的软件中心安装Eclipse,并将其保留为普通版本。也许我找错地方了(我没有看到一个可以启用/禁用它的地方)2048很大,但是你的问题显示256,你试过512吗?在安装了很多插件之后,我不得不用512 MaxPermSize运行eclipse。试着禁用所有插件,看看是否有什么不同。也许有什么东西在泄漏内存。你能试着分析一下eclipse,看看是什么导致了速度变慢吗?@BradGardner我最近添加了MaxPermSize=256,看看它是否起到了作用(索引器的最大内存过去是512 mb),而它似乎所做的只是降低内存限制的值reached@MeIr如果插件与插件相同,要帮助->关于Eclipse平台->安装细节->插件,有很多(300?),但我自己没有添加任何插件。我使用Ubuntu的软件中心安装Eclipse,并将其保留为普通版本。也许我找错地方了(我没有看到启用/禁用它的地方),这是最有可能的解决方案。当eclipse内存变得疯狂时,通常是附加组件。你有两个索尔
Cache limit relative to heap size: 25%
Absolute limit: 256 MB
Header file cache: 256 MB
Days to Keep files: 1
Maximum entries per file: 50
Maximum file size (MB): 1
Exclude all: Name matches *dox (file and folders)