Recent Posts
Recent Comments
Link
11-22 00:01
Today
Total
관리 메뉴

삶 가운데 남긴 기록 AACII.TISTORY.COM

JAVA 애플리케이션 실행 옵션 본문

DEV&OPS/Java

JAVA 애플리케이션 실행 옵션

ALEPH.GEM 2024. 1. 15. 22:03

 

classpath 경로 지정

JVM이 클래스 파일을 찾는 경로를 지정할 수 있습니다.

java -cp /path/to/classes com.example.MyApp

 

 

힙 메모리의 최대/최소 용량 지정

객체들이 저장되는 메모리 영역인 힙 메모리의 최대/최소 크기를 지정해줄 수 있습니다.

application 성격상 알맞게 조절 할 수 있죠.

java -Xmx512m -Xms256m com.example.MyApp

 

 

시스템 프로퍼티 설정

시스템에서 전역적으로 사용하는 값들을 지정할 수 있습니다. 

자바의 System 클래스의 getProperty()메소드를 이용해서 그 값들을 받을 수 있습니다.

java.version, os.name, path.separator 같은 것들이 대표적인 시스템 프로퍼티입니다.

java -Dmy.property=value com.example.MyApp

 

 

디버그 정보 표시

실행중에도 디버그용 출력을 활성화 할 수 있습니다.

java -verbose:class com.example.MyApp

 

 

Runnable jar 실행

java -jar myapp.jar

 

 

서버용 JVM 모드로 구동

-client 모드는 CPU 코어가 한개를 사용하도록 만들어졌으며 -server 모드는 여러개의 CPU코어에서 실행하도록 만들어졌습니다.

그래서 서버용 모드로 구동하면 성능이 항상될 수 있습니다.

java -server -cp /path/to/classes com.example.MyApp

 

 

G1(Garbage First) 가비지 컬렉터 

G1가지비 컬렉터(G1GC)는 대규모 힙메모리를 위한 가비지 컬렉터로 서버 환경에서 구동할 때 효과적입니다.

java -XX:+UseG1GC -cp /path/to/classes com.example.MyApp

 

G1가비지 컬렉터(G1GC) 사용 시 GC의 최대 일시 중지 시간을 제어합니다.

적절한 값은 application의 특성에 따라 다릅니다.

java -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -cp /path/to/classes com.example.MyApp

 

 

 

가비지 컬렉터 병렬 수행에 필요한 스레드 수 지정

java -XX:ParallelGCThreads=4 -cp /path/to/classes com.example.MyApp

 

 

Out Of Memory Error 발생 시 heap dump 생성

디버깅이나 분석 시 유용한 힙 덤프 생성 옵션입니다.

java -XX:+HeapDumpOnOutOfMemoryError -cp /path/to/classes com.example.MyApp

 

 

 

 

 

 

 

 

728x90