我正在使用Apache-tomcat-7.0.12来运行我的应用程序,每次重新启动服务器时都会出现以下错误。
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space
at org.apache.tomcat.util.threads.DedicatedThreadExecutor.execute(DedicatedThreadExecutor.java:62)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5198)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3832)
at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:424)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1205)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1391)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1401)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1401)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1380)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:188)
at org.apache.tomcat.util.threads.DedicatedThreadExecutor.execute(DedicatedThreadExecutor.java:56)
... 10 more
Caused by: java.lang.OutOfMemoryError: PermGen space
我已经设置了变量CATALINA_OPTS和JAVA_OPTS。 CATALINA_OPTS:-Xms512M -Xmx1024M JAVA_OPTS:-Xms1024m -Xmx10246m -XX:NewSize = 512m -XX:MaxNewSize = 356m -XX:PermSize = 1024m -XX:MaxPermSize = 1024m
但仍然得到同样的错误。我使用sts作为IDE。
请帮帮我,如何解决这个问题。
允许Java应用程序仅使用有限数量的内存。在应用程序启动期间指定特定应用程序可以使用的确切内存量。您正是通过指定-Xmx和-XX:MaxPermSize参数来完成此操作。
“java.lang.OutOfMemoryError:PermGen space”消息表明内存中的Permanent Size区域已耗尽,因此您可以尝试增加已指定的参数。
但是看看你当前的配置,你已经将你的permgen大小设置为1024m,所以我猜也是
a)您的配置更改未被提取 - 例如,请查看正在运行的进程,如下所示,我看到512m被用作最大允许的permgen大小:
Ivos-MacBook-Pro:testcases ivomagi$ ps axu|grep java
ivomagi 999 195.3 1.5 9644872 129756 s000 S+ 4:15PM 0:04.47 /usr/bin/java -XX:MaxPermSize=512m eu.plumbr.demo.GarbageProducer
b)你正在尝试装载Truly Big(TM),如果你需要进一步增加permgen