1. 설정파일 수정
eclipse > eclipse.ini 파일을 수정하며, 아래 설정값을 자신의 사양에 맞춰 변경하여 사용한다. 세미콜론(;)은 주석이다.
; workspace의 경로를 윈도우 타이틀바에 출력 -showlocation ; 클래스 유효성 검사 생략, 그러나 나중에 어딘서 오류나는지 확인하기 위해 사용 추천 ;-Xverify:none ; jdk 버전으로 설정하면 속도 향상 -Dosgi.requiredJavaVersion=1.6 ;--------------------------------------------- ; JVM 메모리 관리 ;--------------------------------------------- ; JVM 시작히 힙 영역 크기 : 최소(ms), 최대(mx) -Xms64m -Xmx1024m ; Permanent(영구) 영역 : JVM 클래스와 메소드를 위한 공간, 'Out of Memory' 에러 발생시 크기 조절 = PermSize ; New/Young 영역 : 새로 생성된 개체들을 위한 공간 = NewSize ; Old 영역 : 만들어진지 오래된 객체들의 공간(New영역에서 이동) -XX:PermSize=64M -XX:MaxPermSize=512M -XX:NewSize=128M -XX:MaxNewSize=512M ; Heap Shrinkage를 수행하는 임계치를 지정한다. 예를 들어 이 값이 70이면 Heap의 Free 공간이 70% 이상이 되면
;Heap 크기가 축소된다. MinHeapFreeRatio 옵션과 함께 Heap의 크기 조정을 담당한다. 기본값 70
;-XX:MaxHeapFreeRatio=70 ;--------------------------------------------- ; Garbage Collection 방식에 따라 가능한 옵션 ;--------------------------------------------- ; 병렬 GC 사용 ; 메모리가 충분하고 코어수 많을때 유리하다. -XX:+UseParallelGC ; CMS GC 사용 ; 응답속도가 중요할때 사용한다. ; GC Pause에 의한 사용자 응답시간 저하 현상을 줄인다. -XX:-UseConcMarkSweepGC ;-XX:+CMSIncrementalPacing ; G1 GC(Garbage-First Garbage Collector) 사용 ; 성능은 좋지만 더욱 안정화가 되었을때 사용하는 것이 좋다. ; JDK 1.7.0_4 이후 사용하는것이 안정적 ;-XX:+UnlockExperimentalVMOptions ;-XX:+UseG1GC ;-XX:MaxGCPauseMillis=10 ;--------------------------------------------- ; out of space in codecache 오류 발생시 증가. 이 값은 permGenSpace 공간에 할당되므로 비례하게 커야한다. -XX:ReservedCodeCacheSize=128m ; 컴파일러의 소수점 최적화 기능을 작동시켜 빨라진다. -XX:+AggressiveOpts ; 개별 Thread의 Stack Size를 지정 ; 대부분 기본값 사용, 어플리케이션의 스레드 스택에 의한 메모리 요구향이 높아지면 'Out Of Memory' 에러 발생 -Xss4m -XX:+UseFastAccessorMethods -XX:CompileThreshold=20000
2. 소스 자동 폴딩 해제
Preferences > Java > Editor > Folding 에서 Enable folding 해제
혹은 Coffee Bytes Java Folding 플러그인으로 기능 확장
3. 코드 자동완성기능 해제
(자동으로 실행되는 것을 해제하고, ctrl+space를 사용해서 동작시킬 수 있다.)
Preferences > Java > Editor > Content Assist 에서 Auto Activation - Enable auto activation 해제
4. 오른쪽 하단에 메모리 사용상태 표시
Preferences > General 에서 Show heap status 체크
5. Spell checking 해제
Preferences > General > Editors > Text Editors > Spelling 에서 Enable spell checking 해제
6. 인코딩 변경
Preferences > General > Workspace 에서 Text file encoding 는 UTF-8, New text file line delimite 값은 사용환경에 따라 변경
7. 줄번호 사용(이클립스 루나버전 이후로는 기본값으로 설정)
Perferences > General > Editors > Text Editors 에서 Show line numbers 체크
8. 이클립스 실행속도 개선
실행할때 로딩되는 플러그인을 제외한다.
Preferences > General > Startup and Shutdown 에서 필요없는 것 제외
9. Validation 유효성체크 해제
자신이 사용할 부분만 켜서 사용한다.
Preferences > Validation
10. 불필요한 플러그인 삭제
1) Preferences > Install/Update 에서 Uninstall or update 선택
2) 불필요한 것 Uninstall
11. Autometic Update Off
Preferences > Install/Updates > Automatic Updates 에서 체크해제
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
설명
-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 영역에서 이동해 온다)
참고페이지
1. http://hobakc.blogspot.kr/2014/05/eclipseini.html
2. http://blog.opid.kr/454