[DEV] 기록

STS(Spring Tool Suite) ini 파일 설정

꾸준함. 2020. 7. 3. 15:28

현재 개발을 STS를 사용하여 진행하고 있는데 컴퓨터 성능에 비해 이클립스가 사용하는 메모리가 적은 것 같아 ini 파일을 수정하는 김에 내용을 공유합니다.

* STS 말고 Eclipse를 사용하는 경우 STS.ini가 아닌 Eclipse.ini 에서 설정해주시면 됩니다.

 

STS.ini

-startup
plugins/org.eclipse.equinox.launcher_1.5.500.v20190715-1310.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1100.v20190907-0426
-product
org.springsource.sts.ide
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Xms1024m
-Xmx4096m
-XX:PermSize=128M
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Dosgi.module.lock.timeout=10
-javaagent:C:\Users\10151524\Downloads\spring-tool-suite-3.9.11.RELEASE-e4.14.0-win32-x86_64\sts-bundle\sts-3.9.11.RELEASE\lombok.jar 

 

1. -Dosgi.requiredJavaVersion=1.8

 

* STS가 사용할 최소 버전의 JDK

 

 

2. -Xms1024m

 

* STS가 사용하는 최소 메모리

 

 

3. -Xmx4096 m

 

* STS가 사용하는 최대 메모리 - 컴퓨터 사양에 따라 할당 크기를 변경

 

 

 

4. -XX:PermSize=128M, -XX:MaxPermSize=128M

* JVM 클래스와 메서드를 위한 공간이며 Out of Memory 발생할 경우 높이 설정

 

 

 

 

 

5. -XX:+UseG1 GC

* Garbage-First Garbage Collector 사용

* 큰 메모리를 가진 멀티 프로세서 머신을 위한 컬렉터

* 높은 확률로 높은 처리량 달성

 

 

6. -XX:+UseStringDeduplication

* 설명하기 힘드므로 잘 설명되어있는 링크를 첨부하겠습니다.

* https://blog.gceasy.io/2018/12/23/usestringdeduplication/#more-2861

 

UseStringDeduplication

UseStringDeduplication – pros and cons Let me start this article with an interesting statistic (based on the research conducted by the JDK development team):

blog.gceasy.io

 

추가적으로 설정할 수 있는 옵션

1. -Xverify:none

* 설정할 경우 STS 초기 구동 시 클래스 및 플러그인의 유효성 검사를 건너뛰므로 구동 속도 향상

 

2. -XX:+UseParallelGC

* 병렬 GC 사용, 병렬 처리로 인한 처리속도 향상

 

3. -XX:+AggressiveOpts

* 이 부분 또한 설명하자면 길기 때문에 잘 설명되어있는 링크를 첨부하겠습니다.

* https://www.opsian.com/blog/aggressive-opts/

 

Java’s -XX:+AggressiveOpts: Can it slow you down?

A lot of JVM commandline options, like -XX:+AggressiveOpts sound like they may improve application performance but can often slow it down. You may have noticed that Java has a lot of performance related command-line options. One of the most popular ones is

www.opsian.com

4. -XX:-UseConcMarkSweepGC

* Minor GC에서 Parallel Collector를 활성화하기 위해서는 "-XX:+UseParNewGC" 옵션을 사용해야 하며,  "-XX:+UseParallelGC" 옵션이 설정되어 있을 경우에는 설정하면 안 되는 옵션
* Parallel Collector GC 보다는 최대 성능이 낮게 나오지만, GC로 인한 Application Thread 정지 시간을 최소화하여 응답 시간 지연을 줄이고자 하는 경우 사용
* CMS Collector에 의한 Major GC가 수행되는 동안 Application에 의해서 Old generation 영역이 꽉 차게 되면, 모든 Application Thread를 멈추고, Full GC를 수행

 

5. -XX:NewSize=128M, -XX:MaxNewSize=128M

* 새로 생성된 객체들을 위한 공간

 

[개발환경]

Window

STS 3.9.11

 

[출처]

https://zzikjh.tistory.com/entry/Java-GC%ED%83%80%EC%9E%85-%EB%B0%8F-%EC%84%A4%EC%A0%95-%EC%A0%95%EB%B3%B4

 

Java GC타입 및 설정 정보

GC의 종류는 아래와 같다. ======================================================================================================== 1. Serial Collector - 단일 Thread로 GC 작업을 수행 - "-XX:+UseSeria..

zzikjh.tistory.com

https://www.opsian.com/blog/aggressive-opts/

 

Java’s -XX:+AggressiveOpts: Can it slow you down?

A lot of JVM commandline options, like -XX:+AggressiveOpts sound like they may improve application performance but can often slow it down. You may have noticed that Java has a lot of performance related command-line options. One of the most popular ones is

www.opsian.com

https://blog.gceasy.io/2018/12/23/usestringdeduplication/#more-2861

 

UseStringDeduplication

UseStringDeduplication – pros and cons Let me start this article with an interesting statistic (based on the research conducted by the JDK development team):

blog.gceasy.io

 

반응형