哪些参数代表JVM内存选项中的内容?

Fra*_*ois 23 java jvm jvm-arguments

有很多JVM参数影响JVM的内存使用情况,如 -Xms, -Xmx, -Xns, -XX:MaxPermSize...

  • 他们在做什么?
  • 还有吗?
  • 我有哪一个时,我得到了什么错误,以增加(例如OutOfMemoryError,StackOverflowError...)?

我找不到一个好的备忘单 - 让我们在这里创建一个.

Try*_*ing 48

-Xms: 此选项设置初始和最小Java堆大小.

-Xmx: 此选项设置最大Java堆大小.Java堆("堆")是内存的一部分,其中内存块分配给对象并在垃圾回收期间释放.

-XX:PermSize: -XX:MaxPermSize:用于设置永久代的大小.永久空间是存储类,方法,内化字符串和VM使用的类似对象的地方,永远不会被释放(因此名称).

-Xss:设置线程堆栈大小.线程堆栈是为每个Java线程分配的内存区域,供内部使用.这是线程存储其本地执行状态的位置.

-Xns:设置托儿所的大小.当使用分代垃圾收集模型时,JRockit JVM使用托儿所,也就是说,当动态垃圾收集器确定应该使用分代垃圾收集模型时或者静态分代并发垃圾收集器(-Xgc:gencon)已经使用时选择.您还可以在运行动态垃圾收集器(-XgcPrio)时使用-Xns设置静态托儿所大小.

  • 如果您收到java.lang.OutOfMemoryError: Java heap space不是改变的价值-Xmx-Xms.

  • 如果你正在java.lang.OutOfMemoryError: PermGen space尝试增加- XX:MaxPermSize价值.

  • 如果你正在java.lang.StackOverflowError尝试增加-Xss价值.通过增加堆栈大小可能会有所帮助,但您也应该查看代码.


Kar*_*ose 11

有数百种JVM选项可供选择.基本上它们分为三种类型:

  1. 标准选项,
  2. 非标准X选项,
  3. 非标准XX选项,

几个标准选项列表:[查看完整列表执行命令"java",没有任何选项]

 -client       to select the "client" VM
 -server       to select the "server" VM
 -cp <class search path of directories and zip/jar files>
 -classpath <class search path of directories and zip/jar files>
               A ; separated list of directories, JAR archives,
               and ZIP archives to search for class files.
 -D<name>=<value>
               set a system property
 -version      print product version and exit
 -showversion  print product version and continue
 -X            print help on non-standard options`
Run Code Online (Sandbox Code Playgroud)

一些非标准X选项列表:[查看完整列表执行命令"java -X"]

-Xincgc           enable incremental garbage collection
-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
-Xmixed           mixed mode execution (default)
-Xint             interpreted mode execution only
Run Code Online (Sandbox Code Playgroud)

少数非标准XX选项列表:[ 此处提供完整列表]

-XX:InitialHeapSize=<size>        set initial Java heap size. Same as -Xms<size>.
-XX:MaxHeapSize=<size>            set maximum Java heap size. Same as -Xmx<size>.
-XX:+PrintFlagsFinal              prints all JVM options passed.
-XX:+UnlockDiagnosticVMOptions    opens up lot more VM options.
Run Code Online (Sandbox Code Playgroud)

如果您想增强您对JVM选项的了解,请参阅此博客.链接只是第8部分中的第1部分.查找并阅读其他部分.