Programing/Java & Android App.

Java에서 -Xmx 옵션의 의미

sosal 2015. 5. 23. 14:12
반응형

 

/*

 http://sosal.kr/
 * made by so_Sal
 */

 


 

JAVA application에서 실행하는 예들 중 명령어 사이에 다음과 같은 옵션이 있는 경우가 있다.

 

ex) $JAVA -Xmx1024m -jar $Programs/myProgram.jar O=result.dict

 

-Xmx 라는 옵션은 'set maximum Java heap size' 힙사이즈의 최대를 결정해주는 옵션이다.

기본적으로 JAVA는 default 값으로 heap 메모리를 최대 64mb만큼 잡는다.

즉 64메가가 넘는 동적 변수를 가질 수 없다는 의미이다.

 

따라서 큰 데이터를 메모리에 올릴 때, -Xmx1024m 처럼 최대 1기가, 혹은 그 이상 잡을 수 있도록 설정해주어야 한다.

 

ex) 다음은 Maximum java heap size를 1기가 바이트만큼 할당할 수 있도록 하는 옵션이다.

 

-Xmx1048576000

-Xmx1024000k
-Xmx1000m

-Xmx1G

 

 

 

 

기타옵션들도 많다.

 

 

C:\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
   
-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.