'⑨ 직무역량강화/WAS'에 해당되는 글 2

  1. 2011/04/26 [Tomcat] PermGen space error
  2. 2011/04/25 [Tomcat] Tomcat 실행 시 Session 관련 EOF Exception 발생 시
⑨ 직무역량강화/WAS | Posted by 서풍의신 재령 2011/04/26 11:00

[Tomcat] PermGen space error

Tomcat 이 올라가 있는 상태에서 프로그램을 수정 후 Rebuild 하고 Tomcat 이 Auto Reload 가 되면서 PermGen space error 를 뱉으면서 Tomcat 이 뻗어버릴 때 

tomcat home > bin > catalina.sh (windows 환경의 경우 catalina.bat)

의 가장 윗부분에 아래 내용을 추가한다.


JAVA_OPTS="-Djava.awt.headless=true -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC" 


추가 했는데도 발생하면 숫자 올려보고...

그래도 발생하면 답이 없는거고... ㅋㅋ


덧) 이클립스 톰캣 설정(configuration)에서 Arguments 로 위 내용을 추가해 주어도 됨.


크리에이티브 커먼즈 라이선스
Creative Commons License


톰캣 실행시 아래와 같은 Exception 이 발생하면...

2011. 4. 25 오후 1:15:27 org.apache.catalina.session.StandardManager doLoad
심각: IOException while loading persisted sessions: java.io.EOFException
java.io.EOFException
 at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281)
 at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2750)
 at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)
 at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)
 at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)
 at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:362)
 at org.apache.catalina.session.StandardManager.load(StandardManager.java:321)
 at org.apache.catalina.session.StandardManager.start(StandardManager.java:637)
 at org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:438)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4271)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
 at org.apache.catalina.core.StandardService.start(StandardService.java:516)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2011. 4. 25 오후 1:15:27 org.apache.catalina.session.StandardManager start
심각: Exception loading sessions from persistent storage
java.io.EOFException
 at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281)
 at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2750)
 at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)
 at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)
 at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)
 at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:362)
 at org.apache.catalina.session.StandardManager.load(StandardManager.java:321)
 at org.apache.catalina.session.StandardManager.start(StandardManager.java:637)
 at org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:438)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4271)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
 at org.apache.catalina.core.StandardService.start(StandardService.java:516)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)


1) context.xml 파일을 열어 아래와 같이 한 줄을 추가해 준다.

<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false" />


<< ▲ Click to Enlarge >>


또는
 
2) session.ser 을 삭제한다.
크리에이티브 커먼즈 라이선스
Creative Commons License