Server/Tomcat

[Tomcat] 톰캣 PermGen space Error란 무엇이고 해결방법은?

히진 2018. 9. 12. 11:20
반응형

PermGen space Error란


Tomcat 환경에서 발생하는 PermGen Error는 Tomcat에서 가용할 수 있는 최대 메모리보다 어플리케이션을 구동하는데 필요한 메모리가 더커서 발생하는 문제입니다.


PermGen space Error가 발생하는 이유는 다양하겠지만 대표적인 이유는 개발시 무분별한 메모리 영역 사용, Tomcat 핫디플로이 설정 문제, 톰캣 메모리 설정 문제 등이 있습니다.


PermGen space 문제를 해결하기 위해서는 두 가지 방법이 있습니다.


1. Tomcat 메모리 설정 변경


Tomcat/bin/catalina.bat 파일에서 setlocal 삭제 

set "CATALINA_OPTS=-Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxPermSize=512M" 설정 추가


- Option 정보 

Xms - Min Memory

Xmx - Max Memory

XX:PermSize - Min Perm Memory

XX:MaxPermSize - Max Perm Memory


2. JAVA 8 이상 업그레이드


JAVA 8 에서는 기존 JAVA 7 까지 존재하던 Permanent 영역에 저장 되던 정보를 Metaspace 영역으로 이동시키면서 permanent 영역을 완전히 제거 하였습니다. permanent 사라졌기 때문에 JAVA 8 에서 부터는 더이상 java.lang.OutOfMemoryError : PermGen space와 같은 문제를 더이상 야기하지 않습니다.

반응형