java JVM을 시작할 때 Xms 및 Xmx 매개 변수는 무엇입니까?




xms (4)

java -X 명령을 실행하면 모든 -X 옵션 목록이 표시됩니다.

C:\Users\Admin>java -X
-Xmixed           mixed mode execution (default)
-Xint             interpreted mode execution only
-Xbootclasspath:<directories and zip/jar files separated by ;>
                      set search path for bootstrap classes and resources
-Xbootclasspath/a:<directories and zip/jar files separated by ;>
                      append to end of bootstrap class path
-Xbootclasspath/p:<directories and zip/jar files separated by ;>
                      prepend in front of bootstrap class path
-Xdiag            show additional diagnostic messages
-Xnoclassgc       disable class garbage collection
-Xincgc           enable incremental garbage collection
-Xloggc:<file>    log GC status to a file with time stamps
-Xbatch           disable background compilation
-Xms<size>        set initial Java heap size.........................
-Xmx<size>        set maximum Java heap size.........................
-Xss<size>        set java thread stack size
-Xprof            output cpu profiling data
-Xfuture          enable strictest checks, anticipating future default
-Xrs              reduce use of OS signals by Java/VM (see documentation)
-Xcheck:jni       perform additional checks for JNI functions
-Xshare:off       do not attempt to use shared class data
-Xshare:auto      use shared class data if possible (default)
-Xshare:on        require using shared class data, otherwise fail.
-XshowSettings    show all settings and continue
-XshowSettings:all         show all settings and continue
-XshowSettings:vm          show all vm related settings and continue
-XshowSettings:properties  show all property settings and continue
-XshowSettings:locale      show all locale related settings and continue

-X 옵션은 비표준이며 통지없이 변경 될 수 있습니다.

이것이 Xms, Xmx뿐만 아니라 가장 중요한 다른 많은 것들을 이해하는 데 도움이되기를 바랍니다. :)

이 질문에는 이미 답변이 있습니다.

JVM에서 XmsXmx 매개 변수의 사용법을 설명하십시오. 그 (것)들의 기본값은 무엇입니까?


플래그 Xmx 는 JVM (Java Virtual Machine)에 대한 최대 메모리 할당 풀을 지정하고, Xms 는 초기 메모리 할당 풀을 지정합니다.

즉, JVM은 Xms 메모리로 시작되며 최대 Xmx 메모리를 사용할 수 있습니다. 예를 들어 아래의 JVM을 시작하면 256MB의 메모리로 시작되며 프로세스가 최대 2048MB의 메모리를 사용할 수 있습니다.

java -Xms256m -Xmx2048m

메모리 플래그는 여러 크기 (예 : 킬로바이트, 메가 바이트)로 지정할 수도 있습니다.

-Xmx1024k
-Xmx512m
-Xmx8g

Xms 플래그에는 기본값이 없으며 Xmx 의 기본 값은 일반적으로 256MB입니다. 이러한 플래그의 일반적 사용은 java.lang.OutOfMemoryError 가 발생할 때입니다.

이러한 설정을 사용할 때 이러한 설정은 JVM의 힙에 대한 것이며 JVM은 에 할당 된 크기보다 더 많은 메모리를 사용할 수 있음을 기억하십시오. 오라클의 문서에서 :

JVM은 힙보다 많은 메모리를 사용합니다. 예를 들어 Java 메소드, 스레드 스택 및 네이티브 핸들은 JVM 내부 데이터 구조는 물론 힙과 별도로 메모리에 할당됩니다.


IDE에서 지정할 수 있습니다. 예를 들어, 실행 구성VM 인수 에서 Eclipse의 경우. -Xmx800m -Xms500m 입력하십시오.






jvm