-Xms:堆最小值
-Xmx:堆最大值
-XX:+HeapDumpOnOutOf-MemoryError:在内存溢出的时候Dump出当期内存的转储快照
-Xoss:设置本地方法栈大小(没效果)
-Xss:栈大小
《Java虚拟机规范》明确允许Java虚拟机实现自行选择是否支持栈的动态扩展,而HotSpot虚拟机 的选择是不支持扩展
内存溢出问题大致原因:操作系统分配给每个进程的内存是有限制的,譬如32位Windows的单个进程 最大内存限制为2GB。HotSpot虚拟机提供了参数可以控制Java堆和方法区这两部分的内存的最大值,那剩余的内存即为2GB(操作系统限制)减去最大堆容量,再减去最大方法区容量,由于程序计数器 消耗内存很小,可以忽略掉,如果把直接内存和虚拟机进程本身耗费的内存也去掉的话,剩下的内存 就由虚拟机栈和本地方法栈来分配了。因此为每个线程分配到的栈内存越大,可以建立的线程数量自 然就越少,建立线程时就越容易把剩下的内存耗尽。
-XX:MaxMetaspaceSize:设置元空间最大值(默认是-1)
-XX:MetaspaceSize:设置元空间初始大小
-XX:MinMetaspaceFreeRatio:垃圾收集之后最小的元空间剩余容量百分比
-XX:Max-MetaspaceFreeRatio:垃圾收集之后最大元空间剩余容量百分比
-XX:MaxDirectMemorySize:直接内存容量(不指定默认跟java堆(-Xmx)一致)
------未完待续------
原文:https://www.cnblogs.com/lyp-make/p/12795521.html