eclipse报错GC overhead limit exceed,卡顿

在使用Eclipse的Build Project功能时,提示以下错误:
An internal error occurred during: “Build Project”. GC overhead limit exceeded
如图:

搜索的一下,是属于java.lang.OutOfMemoryError。
OOM大家都知道,就是JVM内存溢出了,那GC overhead limit exceed呢?

GC overhead limt exceed检查是Hotspot VM
1.6定义的一个策略,通过统计GC时间来预测是否要OOM了,提前抛出异常,防止OOM发生。Sun
官方对此的定义是:“并行/并发回收器在GC回收时间过长时会抛出OutOfMemroyError。过长的定义是,超过98%的时间用来做GC并且回收
了不到2%的堆内存。用来避免内存过小造成应用不能正常工作。“

听起来没啥用…预测OOM有啥用?起初开来这玩意只能用来Catch住释放内存资源,避免应用挂掉。后来发现一般情况下这个策略不能拯救你的应用,但是可以在应用挂掉之前做最后的挣扎,比如数据保存或者保存现场(Heap Dump)。

而且有些时候这个策略还会带来问题,比如加载某个大的内存数据时频繁OOM。

**用于了一两年了,今天突然遇到这个问题,也许是以前没留意。
其实如果不是很频繁的出现,也不需要留意它,直接点OK就好了。**
之后会弹出提示如下:

如果担心还有没保存的修改,就点No,检查完毕后重启一下Eclipse。

解决方法:
原因是Eclipse默认配置内存太小需要更改Eclipse安装文件夹下的eclipse.ini文件。

Eclipse.ini默认文件如下:

修改如下:

-Xms512m -Xmx1024m

第一个是最小的初始化内存,第二个是最大的占有内存

还可以加上 -XX:MaxPermSize=1024m这个意思是在编译文件时一直占有最大内存,重启Eclipse

时间: 2024-10-16 02:22:55

eclipse报错GC overhead limit exceed,卡顿的相关文章

java.lang.OutOfMemoryError:GC overhead limit exceeded填坑心得

我遇到这样的问题,本地部署时抛出异常java.lang.OutOfMemoryError:GC overhead limit exceeded导致服务起不来,查看日志发现加载了太多资源到内存,本地的性能也不好,gc时间消耗的较多.解决这种问题两种方法是,增加参数,- XX:-UseGCOverheadLimit,关闭这个特性,同时增加heap大小,-Xmx1024m.坑填了,but why? OOM大家都知道,就是JVM内存溢出了,那GC overhead limit exceed呢? GC o

java8无法启动jboss,换成java7之后eclipse报错

问题描述 java8无法启动jboss,换成java7之后eclipse报错 用java8的时候jboss总是卡在启动的中途,无法启动,换成7之后就启动成功,但是eclipse报上图的错 org.jboss.tools.foundation.core requires JAVA SE version 8 解决方案 下载的版本和eclipse是否兼容的呢? 解决方案二: 缺少插件,提示要使用java8的版本

An internal error occurred during: "Retrieving archetypes:". GC overhead limit exceeded

An internal error occurred during: "Retrieving archetypes:".GC overhead limit exceeded 异常,分享牛系列,分享牛专栏,分享牛. 出现这种情况是什么原因造成的呢? 1.肯定是jvm抛出的异常. 2.eclipse或者myeclipse配置的文件在安装的目录下myeclipse.ini或者eclipse.ini.所有能配置的大概就在这个地方了. 3.修改文件如下: -vmargs-Xmx1024m-Xms

用64位Juno 64位 SP1环境替换原来的Juno 32位 启动Eclipse报错

64位Eclipse运行时提示"Failed to load the JNI shared library \Java\jre6\bin\client\jvm.dll"的一个解决方案 由于开发环境改变,改用64位Juno 64位 SP1环境替换了原来的Juno 32位.结果启动Eclipse报错: "Failed to load the JNI shared library "E:\2000\Java\JDK6\bin\..jre\bin\client\jvm.dl

eclipse报错-Eclipse报错,不知道怎么解决

问题描述 Eclipse报错,不知道怎么解决 请教各位,有谁知道这个错误怎么解决?谢谢 解决方案 启动配置引用不存在的项目Hello 在properites里面把错误的项目删了 应该就好了 解决方案二: 对于更新androidSDK后,eclipse报错ADT问题的解决解决eclipse报错: CreateProcess error=87

Android开发中Eclipse报错及对应处理方法总结_Android

本文较为详细的总结了Android开发中Eclipse报错及对应处理方法.分享给大家供大家参考,具体如下: 报错1: Conversion to Dalvik format failed with error 1 报错原因:原因是我在android工程中不小心多导入Java的mina,结果一跑程序就报这个错误. 解决方法:将Java中用到的mina包移除,就OK了. 小结:以后遇到这种报错时,记得提醒自己可能是由于自己导错包了. 附: 网上其他处理方法:<丢失Android系统库或者Conver

技术-关于用eclipse做gwt开发时,应用启动后,eclipse报错

问题描述 关于用eclipse做gwt开发时,应用启动后,eclipse报错 Could not stop source viewer server. java.lang.ExceptionInInitializerError at com.google.gdt.eclipse.platform.jetty.JettyServer.initLogging(JettyServer.java:40) at com.google.gdt.eclipse.platform.jetty.JettyServ

dalvik-在做xml与java实体类的转换时,导入的jar包都会让eclipse报错

问题描述 在做xml与java实体类的转换时,导入的jar包都会让eclipse报错 我开始用XStream,后来又根据网上的代码导入javax.xml.bind包来进行解析,但是这两种都会报错:Conversion to Dalvik format failed with error 1,我百了一下,也不是很明白,还请大家解答,先谢谢各位了.. 解决方案 可以试下这个方案http://dev.wo.com.cn/docportal/doc_queryMdocDetail.action?mdoc

java-新人求助,my eclipse报错

问题描述 新人求助,my eclipse报错 希望大家能帮我看一下,谢谢各位了 解决方案 function CancelOrder(){ } 解决方案二: else那里少了括号,你把函数再写一遍 解决方案三: windows-Preferences? 中,在search中输入remote,取消选中reopen remote systems view to previous state'. 2.?windows->Preferences ->General -> Startup and S