본문 바로가기
programming language/Java

intelliJ에서 vmOption 및 JavaProject 메모리 설정

by Lcoding 2024. 11. 20.
반응형

 

안녕하세요.

 

오늘은 intelliJ에서 vmOption 및 JavaProject 메모리 설정 방법에대하여 알아보겠습니다. 

 

1. intelliJ의 vmOption에서의 메모리 설정

 

1_1. Help - Edit Custom VM Option... 을 선택해줍니다.

 

1_2. idea64.exe.vmoptions에서 아래와 같이 작성해줍니다.

 

- Xms / - Xmx 

 

-Xms와 -Xmx 설정은 JVM(Java Virtual Machine)에 할당할 초기 힙 메모리(-Xms)와 최대 힙 메모리(-Xmx) 크기를 지정합니다.

 

-XX:+UseG1GC

  • **G1GC (Garbage-First Garbage Collector)**를 활성화합니다.
  • G1GC는 Java 9 이후 기본 가비지 컬렉터로 채택되었으며, 대규모 힙 메모리를 다룰 때 효율적입니다.
  • G1GC의 주요 특징:
    • Region-Based Heap Management: 힙 메모리를 작은 "Region" 단위로 나누어 관리합니다.
    • Concurrent (병렬) 처리: 애플리케이션 스레드와 동시에 동작해 GC로 인한 정지를 줄입니다.
    • Pause Time Goal: 사용자 정의 목표(예: MaxGCPauseMillis)에 따라 동작하며, 긴 정지 시간을 피합니다.
    • Garbage-First: GC는 가장 많은 가비지를 포함한 영역부터 우선적으로 정리하여 성능을 최적화합니다.

G1GC는 특히 큰 힙 메모리(예: 4GB 이상)를 사용하는 애플리케이션에서 효과적입니다.

 

 

-XX:MaxGCPauseMillis=200

  • 가비지 컬렉션의 **목표 정지 시간(Pause Time Goal)**을 설정합니다.
  • 이 옵션은 GC가 한 번 실행될 때 200밀리초(ms) 이하로 애플리케이션이 멈추도록 노력하도록 지시합니다.
    • 정지 시간은 GC가 메모리를 정리하기 위해 애플리케이션 실행을 중단하는 시간입니다.
    • G1GC는 이 목표를 달성하기 위해 GC 작업을 병렬화하거나, 작업 범위를 조정합니다.
  • 그러나, 설정된 정지 시간 목표를 반드시 보장하지는 않습니다. 힙 메모리가 매우 크거나, 가비지 생성 속도가 빠른 경우 목표를 초과할 수 있습니다.

 

 

 

 

2. JavaProject의 메모리 설정

2_1 - JDK 경로 설정

 

2_1_1. File - Project Stucture... 을 선택해줍니다.

 

2_1_2. SDK - PC에 설치된 JDK를 선택해줍니다.

 

2_2 -  프로젝트 설정

 

2_2_1. intellij 우상단에 Current File - Edit Configurations...을 선택해줍니다.

 

2_2_2. '+'를 누른후 Maven 및 Gradle를 선택해줍니다. [ 예시는 Maven ]

 

2_2_3. Name을 작성하고 하단에 Java Options의 Modify -> Add VM options를 선택합니다.

 

2_2_4. VM options란에 아래와 같이 설정할 메모리를 작성한후 'OK'를 선택합니다.

 

 

 

여기까지 intelliJ에서 vmOption 및 JavaProject 메모리 설정에 대하여 알아보았습니다.

 

감사합니다.

 

 

 

 

 

 

 

반응형

loading