出现GCoverheadlimitexceeded的解决⽅案
当我在使⽤MyEclispe IDE创建Maven项⽬的时候出现 "An internal error occurred during: “Build Project”. GC overhead limit exceeded",刚开始以为我clean⼀下,然后重启MyEclip就可以了,后来发现并不是这样。既然出错就要去寻找问题的根源,那么问题出在哪⾥呢?
在解决这个问题的时候,我寻找了⼀些资料,发现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
Tomcat配置:-Xms2048m -Xmx4096m -XX:NewSize=256m -XX:MaxPermSize=512m
Tomcat安装路径找到Tomcat7w
-Xms500m
-Xmx1024m
-XX:PermSize=64M
-
XX:MaxPermSize=1024m
-XX:RervedCodeCacheSize=48m
-Dur.timezone=GMT+08