티스토리 뷰

현재 사용중인 WAS 가 Sun Java System Application Server 9 이거나 그 이하라면,

 

java.lang.OutOfMemoryError: PermGen space
ADM5603:Event listener error [PermGen space]

 

혹은


EJB5090: Exception in creating EJB container [java.lang.RuntimeException: Could not invoke defineClass!]
Warning while deploying : com.sun.enterprise.deployment.backend.IASDeploymentException: PermGen space

 

배포(deploy)할 때 위와 같이 PermGen space 에러가 나는 경우가 있다. Sun Java System Application Server 9 의 설정파일을 보면 JVM 설정에 PermSize 가 지정이 되어 있지 않기 때문이다. 요즘 나오는 GlassFish 3 버젼에서는 MaxPermSize 가 기본으로 196m 로 셋팅이 되있다. 그러므로 GlassFish 는 아마도 이런 에러는 나지 않을 것이다.

 

어쨋든 Sun Java System Application Server 를 사용할 일이 있다면.. 서버 셋팅 안하고 쓰다가 언젠가는 이런 에러를 보게 될 것이다. 해결책은 해당 domain 에 안에 있는 domain.xml 설정파일을 수정해야 한다.

 

C:\Sun\SDK\domains\domain1\config 폴더에 domain.xml 파일이 있다. 열어서 java-config 안에 있는 Xmx 속성을 찾자.

 

        -XX:MaxPermSize=256m
        -XX:PermSize=256m
        -Xmx512m

 

위와 같이 Xmx 파라메터 위에 XaxPermSize 및 PermSize 값을 추가해준다.

그리고 WAS 를 재시작하고 마음것 배포를 해보자. 이젠 PermGen space 에러는 나지 않는다.

 

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함