![](/img/trans.png)
[英]How to remove the Exception in thread “http-bio-8080-exec-5” java.lang.OutOfMemoryError: GC overhead limit exceeded?
[英]Maven “Exception in thread ”http-bio-8080-exec-32“ java.lang.OutOfMemoryError: PermGen space”
我在Ubuntu 11.10下使用Struts2 + Spring和Hibernate框架在NetBeans中创建了一个项目。 第一次运行是好的,但是当我第二次或第三次运行它时,我一直得到这个例外。 没有Maven一切顺利。 我用apt-get install
安装了maven,是的,我在usr/bin/mvn
添加了这行export MAVEN_OPTS=-Xmx512m
,但没有运气。 如何从中获得更好的表现?
你应该添加这一行:
export MAVEN_OPTS="-Xmx512M -XX:MaxPermSize=512M"
请注意,有些用户报告说双引号存在问题,因此您可能希望使用:
export MAVEN_OPTS=-Xmx512M -XX:MaxPermSize=512M
编辑:
由于您使用的是Tomcat,请使用以下命令:
当对象没有正确清理其内存时,permgen空间通常会抛出此错误。 通常导致“孤岛”的对象仍然指向他们,但你作为程序员不能访问这些参考,因为他们住在你的空间之外。 你可能正在使用一个导致这个问题的库,它可能不会消失,直到你停止使用这个库。 至于哪个图书馆,我不确定,有很多文章解释如何找到这个,但这是一件苦差事,可能需要一段时间,除非你很幸运。 内存分析器可以提供一些想法。
-Xmx512m
对你没有帮助,因为你正在增加堆空间。 你的PermGen空间用完了,而不是堆空间。
尝试增加PermGen空间并放置一些标记来装饰它。 以下是更多信息: Tomcat 6中的重复“PermGen”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.