본문 바로가기
Was/Tomcat

PermGen / java.lang.OutOfMemoryError

by 태하팍 2015. 3. 25.
반응형

Java heap 또는 heap의 특정 영역에 객체를 할당할 수 있는 공간이 충분하지 않을 때 발생.

참고 글 :

2014/05/15 - [Language/Java] - [Java] JVM 메모리 구조


보통 톰캣 같은 곳에서 설정 때 보면 PermGen이라는 친구가 있다. 이녀석은  permanent generation라는 뜻이고

출처 : http://dic.daum.net/


클래스와 메소드 객체가 저장되는 heap의 영역이다.

어플리케이션이 많은 수의 클래스를 로드하면 -XX:MaxPermSize옵션을 사용하여 PermGen의 크기를 증가 시킬 필요가 있다.


유닉스같은 서버에 톰캣을 셋팅해서 사용하신다면 톰캣의 catalina.sh 파일에 추가 하면 된다.

예) JAVA_OPTS="$JAVA_OPTS -server -Xms3000M -Xmx3000M -XX:PermSize=256m -XX:MaxPermSize=256m


설정을 하지 않으면 디폴트는!

The Sun VM has the flag -XX:MaxPermSize that allows to set its size (the default value is 64M)

참고 사이트 : http://wiki.apache.org/tomcat/OutOfMemory


   - 끝 -

반응형