주력 통합개발환경인 이클립스 환경 설정에 관련된 포스팅을 남겨본다. PC환경이 조금이라도 안좋은 경우(예를 들어 램이 모자라거나 CPU 사양이 낮거나.... 혹은 SSD를 사용 안하거나...)는 진짜 이클립스 쓰기에 뻑뻑한게 현실이다. 이럴 경우 이클립스에서 사용하는 JVM쪽 설정을 조금 다시 셋팅하여 사용하는 것이 그나마 속도 개선이 좋은 부분이 있기 때문에 평소 사용하는 설정 부분을 포스팅하려고 한다.
<eclipse.ini> // STS의 경우 STS.ini
1
2
3
4
5
6
7
8
9
10
11
12 |
####################### eclipse.ini #################################
-vmargs-Dosgi.requiredJavaVersion=1.6
-Xverify:none-XX:+UseParallelGC-XX:
-UseConcMarkSweepGC
-XX:PermSize=128M
-XX:MaxPermSize=128M
-XX:MaxNewSize=128M
-XX:NewSize=128M
-Xms512m
-Xmx512m
|
|
★ 설명
-Dosgi.requiredJavaVersion=1.6 → JDK 1.6 이상을 설치했을 경우에 1.6으로 설정하면 속도가 빨라짐
-Xverify:none → 클래스의 유효성을 검사 생략. 시작 시간이 단축되어 빨라진다.
-XX:+UseParallelGC → 병렬 가비지 컬렉션(병렬처리로 속도 향상) 사용.
-XX:+AggressiveOpts → 컴파일러의 소수점 최적화 기능을 작동(왜 빨리지는지는 설명이 안된다.)
-XX:-UseConcMarkSweepGC → 병행 mark-sweep GC 수행하여 이클립스 GUI의 응답을 빠르게한다.
-XX:+CMSIncrementalMode=true → 점진적인 GC
-XX:PermSize=128M → Permanent Generation(영구 영역) 크기(Out Of Memory 에러시 크기 조절)
-XX:MaxPermSize=128M → 최대 Permanent Generation 크기
-XX:NewSize=128M → New Generation(새 영역) 크기
-XX:MaxNewSize=128M → New Generation(새 영역) 의 최대 크기
-Xms512m : 이클립스가 사용하는 최소 Heap 메모리
-Xmx512m : 이클립스가 사용하는 최대 Heap 메모리
최소와 최대를 같은 값으로 설정하면 오르락 내리락 하지않아 빨라진다.
메모리 설정의 경우, 본인의 PC 환경에 맞게끔 다시 설정해주면 좋다. 하지만 무작정 메모리 크기를 크게 잡는다고 속도에는 크게 영향을 주는 부분이 없기 때문에 적당량을 배정해주는 것이 좋을 것이다. 또한, 설정 후 이클립스가 죽는(?) 일이 생길수도 있으니 기존 eclipse.ini를 백업한 후 작업하는 것이 베스트!!
[ 참고 ] JVM
JVM 은 3가지 메모리 영역을 관리함. GC와도 관련이 있는 부분임.
1. Permanent(영구) : JVM 클래스와 메소드를 위한 공간. = PermSize
2. New/Young : 새로 생성된 개체들을 위한 공간. = NewSize
3. Old : 만들어진지 오래된 객체들의 공간.(New 영역에서 이동)