JVM의 옵션.

carlkim·2024년 1월 9일
1

자바기본

목록 보기
2/8

JVM 옵션이란?

Java Virtual Machine (JVM) 옵션은 Java 애플리케이션의 실행 및 성능을 조정하기 위해 사용되는 매개변수들을 나타냅니다.

다양한 옵션들이 있으며, 이들은 메모리 관리, 성능 최적화, 디버깅 등 다양한 측면에서 설정될 수 있습니다.

JVM 옵션 튜닝을 왜 하는가?

Java 애플리케이션의 실행 및 성능을 조정하기 위해

JVM 어떻게 변경하는데?

주로 터미널 또는 명령 프롬프트에서 사용

메이븐이나 그레이들로 빌드를하면 JAR나 WAR 파일이 만들어진다.
이게 자바 어플리케이션을 빌드한 파일.
이 자바 어플리케이션을 JVM이 돌리면서 OPTION 으로 설정한 값을 리미트값으로 실행시키게 된다.

JVM에서 사용할 수 있는 다양한 옵션.

  1. -D : JVM 애플리케이션에서 사용할 시스템 환경 변수의 이름과 값을 지정하는데 사용.

  2. -Xms : 작업을 수행하는 JVM의 최소 메모리 크기를 지정.

  3. -Xmx : 작업을 수행하는 JVM의 최대 메모리 크기를 지정.

  4. -XX:PermSize : JVM이 사용하는 영구 적인 메모리의 초기 크기를 지정.

  5. -XX:MaxPerSize : JVM이 사용할 수 있는 최대 영구 적인 메모리 크기를 지정.

  6. -server : 서버 모드를 활성화하여 JVM이 애플리케이션에 대한 최적의 성능을 제공하게 함.

  7. -XX:+UseConcMarkSweepGC: Concurrent Mark and Sweep (CMS) 가비지 수집기를 사용하여 가비지 수집을 수행함.

  8. -XX:+PrintGCDetails: 가비지 수집 과정에서 JVM이 수행한 작업에 대한 상세 정보를 출력함.

  9. -XX:+HeapDumpOnOutOfMemoryError : 메모리 부족 오류가 발생할 때 JVM이 덤프를 생성하게 함.

  10. -XX:ErrorFile=filename : JVM이 오류 메시지를 출력할 파일의 이름을 지정.

세팅 방법

  1. JVM 시작시 HEAP size와 최대 heap Size를 동일하게 세팅하는 것이 좋다.

  2. Heap 사이즈를 변겨앟기위해 런타임 기간동안 발생하는 불필요한 오버헤드 줄일 수 있다.

  3. 32bit 운영체제인 경우 최대 Heap Size는 2^32 = 4GB까지 설정 가능

  4. 64bit 운영체제인 경우 최대 Heap Size는 더 많이 사용가능.

    아래 명령어로 실행.

-D : 시스템 프로퍼티 설정

java -Duser.language=ko -Dfile.encoding=UTF-8 -jar YourApp.jar

-Xms 및 -Xmx : 힙 크기 조절

java -Xmx512m -Xms256m -jar YourApp.jar

XX:+UseConcMarkSweepGC : CMS 가비지 컬렉터 사용

java -XX:+UseConcMarkSweepGC -jar YourApp.jar

-XX:+PrintGCDetails : 가비지 컬렉션 로그 출력

java -XX:+PrintGCDetails -jar YourApp.jar

-XX:HeapDumpOnOutOfMemoryError : OutOfMemoryError 발생 시 힙 덤프 생성

java -XX:HeapDumpOnOutOfMemoryError -jar YourApp.jar

jvm 옵션 무조건 써야함 하나의 어플이 메모리를 다 쓰지 못하게 메모리를 그 서버의 4분의1을 사용하는데 메모리를 옵션을 써서 다 쓸 수 있게 설정해야한다.

profile
기본부터 가면 됩니다.

0개의 댓글