이클립스상에서 Run을 하다보면
java.lang.OutOfMemoryError: Java heap space 예외가 발생하는 경우가 있다.
런타임시 힙 메모리가 부족한 경우이다.
방법은 두가지 이다.
eclipse.ini 파일 맨 밑 라인에
-vmars
-Dosgi.requiredJavaVersion=1.5
-Xms1024m
-Xmx1024m
을 추가한다.
Xms는 메모리의 시작크기를 나타내고
Xmx는 메모리의 최대크기를 나타낸다.
따라서 당연히 Xms <= Xmx 여야 하겠다.
XP에서 JVM 자체 최대 메모리 크기는 1g 정도 이다. (http://stackoverflow.com/questions/171205/java-maximum-memory-on-windows-xp)
Run Configurations의 Arguments 탭 내의
VM arguments 박스에
-XX:MaxPermSize=128m -Xms1024m -Xmx1024m
를 추가해 준다.
JVM에서는 메모리를 두가지 종류로 나눠서 관리하는데
- Heap : 일반적인 실행 영역
- PermGen : 클래스 메타 데이터 영역
으로 정의된다.
그리고 Windows -> Preferences -> General 에서 Show heap status를 체크해 주면 이클립스 하단에서 메모리 상태를 확인 할 수 있다. 잘 확인하고 적당한 사이즈로 늘려주자.-_-!!
'NATIVE > eclipse' 카테고리의 다른 글
자바 프로그램 힙 메모리 사용 측정 (0) | 2012.07.11 |
---|---|
External Tools로 빌드 (0) | 2012.07.11 |
java.lang.StackOverflowError (0) | 2012.07.10 |