기술지원 문의

[답변]Resin 메모리 오류
관리자 / 2011-05-24 11:02

안녕하세요. 기술지원팀 입니다.

 

JVM에서 관리하는 메모리 영역중 Heap Space 와 Perm Space 영역이 존재 하는데,

 

Heap Space 영역은 프로그램상 동적으로 생성된 객체를 저장하는 메모리 영역으로

 

GC 알고리즘을 통하여 불필요한 객체를 소거할 수 있는 특징이 있습니다.

 

하지만, PermGen Space 영역은 Class 나 Method가 적재되어 로딩되는 공간으로써

 

GC 대상에서 제외되는 공간입니다.

 

따라서, 잦은 Redeploy는 PermGen Space 의 공간을 추가적으로 필요로 하게 되며,

 

해당 환경을 고려하지 않은 JVM 메모리 설정으로 인하여 Out Of Memory를 유발 시킬수 있습니다.

 

PermGen Space 영역의 JVM 메모리 설정은 다음과 같습니다.

 

-XX:PermSize=128m     // 최소 Perm Size

-XX:MaxPermSize=128m  // 최대 Perm Size

 

위 메모리 설정을 명시하지 않았을 경우, Default 값으로 설정되며,

 

Java 1.5 기준에서 Default Max PermGen Space 메모리 값은 64M 입니다.

 

따라서 Perm Space 영역의 메모리 크기를 늘려 보시거나, JConsole 같은 모니터링 툴을

 

사용하여 적절한 Perm Space 영역을 설정해보시기 바랍니다.

 

감사합니다.