본문 바로가기
개발일지/개발중

[오류] java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space

by 세 미 콜 론 2021. 1. 12.
728x90
반응형

이클립스에서 이런 에러를 만난 적이 있나요?

1월 08, 2021 4:47:57 오후 org.apache.catalina.core.ApplicationContext log
정보: Initializing WebApplicationContext for Struts ActionServlet 'action', module ''
1월 08, 2021 4:48:01 오후 org.apache.catalina.core.ContainerBase startInternal
심각: A child container failed during start
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.core.ContainerBase.startInternal(ContainerBase.java:1123)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
	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: PermGen space
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2918)
	at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1174)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1669)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
	at ch.qos.logback.classic.spi.LoggingEvent.<init>(LoggingEvent.java:126)
	at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:439)
	at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:395)
	at ch.qos.logback.classic.Logger.log(Logger.java:787)
	at org.apache.commons.logging.impl.SLF4JLocationAwareLog.error(SLF4JLocationAwareLog.java:225)
	at org.apache.struts.action.ActionServlet.init(ActionServlet.java:398)
	at javax.servlet.GenericServlet.init(GenericServlet.java:160)
	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5176)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5460)
	... 7 more

나는 퍽이나 당황스러웠다 ㅎㅎ...

메모리가 부족하다니 ! 

알고보니 간단하게 해결 가능한 에러.

 

1. 서버에서 톰캣 더블 클릭.

 

2. open launch configuration 클릭

3. VM arguments에 -XX:MaxPermSize=128m -Xms128m -Xmx512m 추가 

-XX:MaxPermSize=128m -Xms128m -Xmx512m

 

이렇게 하면 문제 없이 올라가게 된다. 

728x90
반응형

댓글