JVM메모리는 Java Heap space, Permenant Generation 이 존재합니다.

PermGen space는 JVM에서 관리하는 메모리 영역중 하나입니다.

Heap space는 프로그램 실행 도중 생성삭제 되는 Garbage-collected(필요없는경우 제거)입니다.

Permenant는 프로그램이 종료될때 까지 메모리를 차지하는 공간입니다.

Heap은 동적으로 메모리를 사용하게 되며 Permenant는 Class Names, internalized strings, Object등이 들어가며

PermGen도 이곳에 해당합니다.

 

java.lang.OutOfMemoryError: PermGen space의 해결책은 이클립스 실행시 메모리를 늘려주면 됩니다.

기본은 20M로 설정이 됩니다.

 

1. eclipse.ini 파일 설정.

    javaw -vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=64M -XX:MaxPermSize=128M -XX:MaxNewSize=32M -XX:NewSize=32M -Xmx512M

 

2. eclipse실행 파일.

   C:\eclipse\eclipse-jee-ganymede-SR1-win32\eclipse\eclipse.exe -vm "C:\Program Files\Java\jre6\bin\javaw" -vmargs -XX:MaxPermSize=128m -Xms128m -Xmx512m

 

3. eclipse의 Java VM 옵션 용량 수정.

   eclipse 사용시 : Window > Preferences > java > installend JREs > 사용중인 JRE선택 > edit > Default VM Arguments

   기본방식

  -XX:MaxPermSize=Permanent Generation의 최대용량(기본 용량은 64MB)

   변경설정

  -XX:MaxPermSize=128m



-출처 : Length 카페 ( http://blog.naver.com/onepromise01/150090741047 )

+ Recent posts