Tools/Eclipse & STS

[Eclipse] eclipse.ini 파일 설정하기 (메모리(heap size), 처리 등)

썸머워즈 2020. 5. 15. 21:41
반응형

- eclipse.ini 파일 설정하기 (ft. 옵션들) -


여러 프로젝트를 열어서 작업을 하거나

용량이 큰 프로젝트 등을 작업할때

허용 메모리(Heap Size)가 부족해서 성능이 느려지거나 강제종료 되는 경우가 생긴다.

 

이클립스 메모리 설정, 그외의 각종 옵션을

eclipse.ini 파일을 통해서 설정이 가능하다.

 

파일 확장자명이 보인다면

아래와 같은 파일이 eclipse.ini 파일이다.



해당 파일을 열어보면 아래와 같이 기본 옵션들이 나오는데

추가 옵션 설정항목에 대해 알아보자.

 


 1  -vm
 2  C:/jdk180_202/bin/javaw.exe
 3  -vmargs
 4  -Dosgi.requiredJavaVersion=1.8
 5  -Xverify:none
 6  -XX:+UseParallelGC
 7  -XX:-UseConcMarkSweepGC
 8  -XX:+AggressiveOpts
 9  -XX:PermSize=256M
10  -XX:MaxPermSize=256M
11  -XX:MaxNewSize=256M
12  -XX:NewSize=256M
13  -Xms512m
14  -Xmx1024m
15  -Dfile.encoding=UTF-8
16  -Duser.name=wonnyyyy

 

1)  -vm

    C:/jdk180_202/bin/javaw.exe

      - 2~3번 라인에서는 -vm 옵션을 통해 eclipse가 사용할 JDK 경로를 설정한다. 

      - '-vm' 옵션과 그의 value 값인 path는 별도 라인에 명시되어야 한다. 

      - value 값인 path는 Java home 디렉토리가 아니라, Java executable 까지에 대한 path를 명시해주어야 한다.(exact path to javaw.exe)

      - '-vm' 옵션은 '-vmargs' 옵션보다 먼저 수행된다. ('-vmargs' 옵션이 수행된 후에는 바로 JVM이 실행된다)

      - 당연한거지만, 32bit 용 eclipse.exe에서는 32bit 용 JVM 이 사용되어야 하고, 64bit 용 eclipse.exe에서는 64bit용 JVM이 사용되어야 한다. 

  

2) -vmargs

    -Dosgi.requiredJavaVersion=1.8

      - 4번 라인에서는 해당 eclipse 실행을 위한 최소 Java 버전을 명시하고 있다. (eclipse 툴 버전별로 최소 요구 Java 버전 확인 할 것)

      - 참고로 '-vmargs' 옵션은 JVM의 operation을 커스터마이징 하기 위한 설정이다. 설정 옵션들 중 가장 마지막에 오게 하기.

 

3) -Xverify:none

      - 초기 구동 시 클래스의 유효성 검사를 skip 하겠다는 뜻. 구동 시간이 빨라진다.

 

4) -XX:+UseParallelGC

      - 병렬 GC 사용 설정. 병렬 처리로 인한 처리 속도 향상. 

 

5)  -XX:-UseConcMarkSweepGC

      - 병행 Mark sweep GC 수행을 통해 이클립스 GUI 의 응답속도 향상. (mark sweep GC는 GC 수행 방법 중 하나..자세한 설명은 별도 검색)

 

6)  -XX:+AggressiveOpts

      - 컴파일러의 소수점 최적화 기능 설정....이라는데 무슨말인지 잘 이해가 안된다.

 

7)  -XX:PermSize=256M

      - permanent generation의 크기 설정. 즉, 클래스와 메서드를 위한 공간. JDK 7 기준, permanent generation 공간은 GC가 일어나지 않는다.

 

8)  -XX:MaxPermSize=256M

      - permanent generation의 최대 크기 설정(클래스와 메서드를 위한 공간). OOM 발생 시 이부분을 늘려주는 것을 권장. 메모리의 최소와 최대 값을

       

같게 설정하면 힙메모리 영역의 변경이 없어 속도를 향상시킬 수 있다. 

 

9) -XX:MaxNewSize=256M

    -XX:NewSize=256M

        - new generation의 크기 설정. 즉, 새로 생성되는 객체들을 위한 공간. 어플리케이션 내 새로 생성되는 객체들은 주로 생성 후 얼마 지나지 않아

       

         사용하지 않게 되는 경우가 많다. 때문의 new generation 영역의 크기가 너무 크면 GC 호출이 잘 일어나지 않으며, 호출 시간도 오래 걸리게 된다.

 

          사이즈 조절 주의!

 

10) -Xms1024m

     -Xmx1024m

        - Xms는 eclipse가 사용하는 최소 heap memory 크기

        - Xmx는 eclipse가 사용하는 최대 heap memory 크기 

        - 메모리의 최소와 최대 값을 같게 설정하면 힙메모리 영역의 변경이 없어 속도를 향상시킬 수 있다. 

        - heap size를 1024m 로 설정하면, eclipse가 컴퓨터 상의 메모리 중 1024m를 자기 영역으로 확보하므로, 다른 작업들을 하고 있을 경우,

          메모리가 부족할 수 있다.  상황에 따라 메모리 크기를 적절하게 설정해주어야 한다.

        - 권장 사이즈

 

            1G 이하 메모리의 컴퓨터: -Xms256m -Xmx256m

            2G ~ 3G 메모리의 컴퓨터: -Xms512m -Xmx512m

            4G 이상 메모리의 컴퓨터: -Xms1024m -Xmx1024m

       (물론 1024m 가 끝은 아니다 2048 등의 설정은 가능하다.)

11) -Dfile.encoding=UTF-8

        - JVM을 통한 입출력으로 변환되는 데이터는 이 옵션을 통해 지정된 언어로 인코딩 된다. 위의 설정과 같이 UTF-8로 지정하면

          명시적으로 UTF-8 charset을 사용하게 된다.    

 

        - eclipse에서 다루는 파일들의 기본 문자셋 지정하는 옵션


참고 : https://luceatluxvestra.tistory.com/20

반응형