Oracle已经声明了参数设置的描述仅适用于JDK7及之前的版本。

而且之前的版本也声明了X参数和XX参数是非标准方法,可能会有变化而无相关通知。而且XX参数可能会不稳定。

 

查看Java虚拟机支持哪些参数配置

在命令行输入java -X(如果没有将java路径设置为环境变量,请设置,或通过命令行进入到java所在路径后执行java命令)。

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 resour
    -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 def
    -Xrs              reduce use of OS signals by Java/VM (see documen
    -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.

 

常用参数说明

-Xmx参数

示例:java -Xmx3550m

说明:设置JVM最大堆内存为3550M。

 

-Xms参数

示例:java -Xms3550m

说明:设置JVM初始堆内存为3550M。

 

-Xmn参数

示例:java -Xmn2g

说明:设置年轻代大小为2G。

 

-Xss参数

示例:java -Xss128k

说明:设置每个线程的堆栈大小为128k。

 

-XX:MaxPermSize参数

示例:java -XX:MaxPermSize=512M

说明:设置持久代最大值为512M。

 

-XX:NewRatio参数

示例:java -XX:NewRatio=4

说明:设置堆内存年轻代与堆内存年老代的比值1:4。

 

-XX:MaxTenuringThreshold参数

示例:java -XX:MaxTenuringThreshold=7

说明:一个对象如果在救助空间(Survivor区)移动7次还没有被回收就放入年老代。