현재 개발을 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
추가적으로 설정할 수 있는 옵션
1. -Xverify:none
* 설정할 경우 STS 초기 구동 시 클래스 및 플러그인의 유효성 검사를 건너뛰므로 구동 속도 향상
2. -XX:+UseParallelGC
* 병렬 GC 사용, 병렬 처리로 인한 처리속도 향상
3. -XX:+AggressiveOpts
* 이 부분 또한 설명하자면 길기 때문에 잘 설명되어있는 링크를 첨부하겠습니다.
* https://www.opsian.com/blog/aggressive-opts/
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://www.opsian.com/blog/aggressive-opts/
https://blog.gceasy.io/2018/12/23/usestringdeduplication/#more-2861
'[DEV] 기록' 카테고리의 다른 글
java.lang.AssertionError: org.xml.sax.SAXParseException (0) | 2020.07.16 |
---|---|
css) div 내 div들을 가로로 동일한 간격으로 배치하는 방법 (0) | 2020.07.08 |
C++ >?= 문법 (1) | 2020.06.18 |
통신사별 DNS 서버 IP 주소 정리 (0) | 2020.06.16 |
C++ 이차원 배열 memset 함수를 통해 초기화하는 방법 (2) | 2020.06.02 |