出现GC overhead limit exceeded 的解决方案

时间:2024-05-23 12:41:24

当我在使用MyEclispe IDE创建Maven项目的时候出现  "An internal error occurred during: “Build Project”. GC overhead limit exceeded",刚开始以为我clean一下,然后重启MyEclipse就可以了,后来发现并不是这样。既然出错就要去寻找问题的根源,那么问题出在哪里呢?

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

        这时候就需要认真的去考虑了,既然是配置内存出了问题。本人把配置全部都配置翻了一倍就解决,这个是比较粗暴的方法

JDK配置:-Xms500m -Xmx1024m -XX:NewSize=800m -XX:MaxPermSize=800m

出现GC overhead limit exceeded 的解决方案

 

Tomcat配置:-Xms2048m -Xmx4096m -XX:NewSize=256m -XX:MaxPermSize=512m

出现GC overhead limit exceeded 的解决方案

Tomcat安装路径找到Tomcat7w

-Xms500m
-Xmx1024m
-XX:PermSize=64M
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=48m

-Duser.timezone=GMT+08

 

出现GC overhead limit exceeded 的解决方案