我收到以下错误 “http-9000-5”java.lang.OutOfMemoryError:PermGen space
org.apache.catalina.core.ApplicationDispatcher调用 严重:Servlet jsp的Servlet.service()引发了异常 java.lang.OutOfMemoryError:PermGen space。
我的应用程序使用axis2.I增加了堆大小1024mb.But它不工作。会出现什么问题。请解决
答案 0 :(得分:16)
PermGen和堆大小彼此不同。
你需要像这样增加permgen空间:
-XX:PermSize=256m
-XX:MaxPermSize=256m
添加此标志。
另请注意:explaining-java-lang-outofmemoryerror-permgen-space和此:how-to-deal-with-java-lang-outofmemoryerror-permgen-space-error
希望这有帮助。
答案 1 :(得分:15)
你需要在tomcat参数中设置一些东西
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8
-server -Xms1536m -Xmx1536m
-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m
-XX:MaxPermSize=256m -XX:+DisableExplicitGC"
注意:XX:MaxPermSize参数=256米
答案 2 :(得分:6)
如果您使用Tomcat作为Eclipse的服务器,请转到服务器视图,然后双击Tomcat,然后“打开启动配置”,转到参数选项卡,并在设置-Dcatalina.base =“”之后将此设置为
-Xms256m -Xmx512m -XX:MaxPermSize=512m -XX:PermSize=128m
答案 3 :(得分:2)
除了提高PermGen大小外,请尝试使用
启用permgen垃圾回收-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled
答案 4 :(得分:0)
尝试增加JVM的ram分配。它应该有所帮助。
修复eclipse:你可以在eclipse偏好中配置它,如下所示
Windows - >偏好(在mac上:eclipse - >偏好) Java - >已安装的JRE 选择JRE并单击Edit 在默认VM参数字段中键入--Xms256m -Xmx512m -XX:MaxPermSize = 512m -XX:PermSize = 128m。 (或者你的记忆偏好,对于1 gb的ram是1024) 点击完成或确定。