Java running out of memory

From WikiTechia

Jump to: navigation, search

When java is running out of memory while running an application, an OutOfMemoryError may be issued. There is actually a command line parameter to remedy the issue.

Command line parameters

Java actually has a few interesting parameters that can be passed to the VM that relate to execution. The reference to this can be pulled up by calling 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.

The -X options are non-standard and subject to change without notice.


So to increase the amount of memory available to java, the -Xmx<size> parameter should be used. The following command would execute main.jar with 256mbs of RAM

java -Xmx256m -jar main.jar
Personal tools