启动tomcat出现out of memory错误

昨天上班一整天都在弄这个问题,百度了一堆都是要修改配置文件,

结果就在下班的那几分钟,解决了。真是让人抓狂。

报错信息是:

  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.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1163)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:497)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1713)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:337)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:388)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:333)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1136)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.OutOfMemoryError: Permian space


然后会一直跳到debug的throwable的进程。


解决方式就是:1.双击tomcat server 打开配置文件



启动tomcat出现out of memory错误



2.点击open launch configuration,在arguments项末尾加入-XX:MaxPermSize-1024m

启动tomcat出现out of memory错误

启动tomcat出现out of memory错误

重新启动tomcat就可以了。具体参数意义可以去百度。

但是百度的那些解决方案真的是,不知道是不是我设置的不对,反正改来改去就是不行。