2014년 5월 23일 금요일

이클립스 속도 향상 (eclipse.ini 수정)

이클립스 속도 향상 (eclipse.ini 수정)

eclipse.ini 수정

1) Before
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m


2) After
-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



3) 설명
-Dosgi.requiredJavaVersion=1.6 => JDK 1.6 이상을 설치했을 경우에 1.6으로 설정하면 속도가 빨라진다.

-Xverify:none => 클래스의 유효성을 검사 생략. (eclipse 실행 시작 시간 단축)
-XX:+UseParallelGC => Parallel Collector를 사용. 병렬 가비지 컬렉션 사용. (병렬 처리로 속도 향상)
-XX:+AggressiveOpts => 컴파일러의 소수점 최적화 기능을 작동시켜 빨라진다.
-XX:-UseConcMarkSweepGC => 병행 mark-sweepGC 기능을 수행하여 이클립스 GUI의 응답을 빠르게한다.
-XX:+CMSIncrementalMode=true => 점진적인 GC

-XX:PermSize=128M    => eclipse 클래스 로딩 기본 메모리
                       Permanent Generation(영구 영역) 크기(Out Of Memory 에러시 크기 조절)
-XX:MaxPermSize=128M  => eclipse 클래스 로딩 최대 메모리
-XX:NewSize=128M         => New Generation(새 영역) 크기
-XX:MaxNewSize=128M   => New Generation(새 영역) 의 최대 크기

-Xms512m : eclipse 실행시 잡는 최소 Heap 메모리
-Xmx512m : eclipse 실행시 잡는 최대 Heap 메모리
                   최소와 최대를 같은 값으로 설정하면 오르락 내리락 하지않아 빨라진다.

[PC메모리에 따른 메모리 정의 예]
1 기가 이하 PC  => -Xms256m -Xmx256m
2 기가 ~ 3 기가 PC  => -Xms512m -Xmx512m
4기가 이상 PC   => -Xms1024m -Xmx1024m

[ 참고 ]
JVM 은 3가지 메모리 영역을 관리합니다.
 1. Permanent(영구) 영역 : JVM 클래스와 메소드를 위한 공간. = PermSize 설정
 2. New/Young 영역 : 새로 생성된 개체들을 위한 공간. = NewSize 설정
 3. Old 영역 : 만들어진지 오래된 객체들의 공간.(New 영역에서 이동해 온다)