命令行使用ant脚本编译时出现OutOfMemoryError: GC overhead limit exceeded 100

我在环境变量设置了ANT_OPTS=-Xms512m-Xmx768m-XX:PermSize=256m-XX:MaxPermSize=512m命令行是新开的,echo%A... 我在环境变量设置了ANT_OPTS=-Xms512m -Xmx768m -XX:PermSize=256m -XX:MaxPermSize=512m
命令行是新开的,echo %ANT_OPTS%也是以上的值,但就不知道为什么还会内存溢出了
网上查了关于“GC overhead limit exceeded”的异常处理说是使用“-XX:-UseGCOverheadLimit”参数,还是无效...

请高手帮忙解决 真心感谢
展开
 我来答
小狂中E
推荐于2016-03-22 · TA获得超过1418个赞
知道大有可为答主
回答量:1514
采纳率:66%
帮助的人:1032万
展开全部
根据sun的说法: "if too much time is being spent in garbage collection: if more than 98% of the total time is spent in garbage collection and less than 2% of the heap is recovered, an OutOfMemoryError will be thrown."
gc超过98%以上的时间去释放小于2%的堆空间时会报这个错误
1、增加你那个XX参数
2、增加堆大小,-Xmx可以再增加,譬如2G内存增加到1300m
3、使用jstat监控gc,其vmid参数可用jps -lv查找
追问
增大也是没用的.
另外我系统是win7 64,JDK也是64位的不知道使用ant会不会有问题
追答
用jstat监控一下试试
ant我没用过,好象是开源的,找最新版的也测试下,或者自己编译ant
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jamxval
2013-11-07 · TA获得超过6823个赞
知道大有可为答主
回答量:4308
采纳率:82%
帮助的人:1438万
展开全部
我觉得一般默认情况什么 ANT_OPTS 也不加应该就可以工作的吧。你的机器内存少于2G?按 zaoyaxu 的提示,是 GC 花了太多时间也没腾出空间来,JVM 就不打算再尝试GC了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式