虚拟机栈
-Xss:设置虚拟机栈容量
本地方法栈
-Xoss:设置本地方法栈容量;因此对于HotSpot来说,-Xoss参数虽然存在,但实际上是没有任何效果的,栈容量只能由-Xss参数来设定。
Java堆
-Xms:设置Java堆的最小容量
-Xmx:设置Java堆的最大容量
-XX:+HeapDumpOnOutOf-MemoryError:可以让虚拟机在出现内存溢出异常的时候Dump出当前的内存堆转储快照以便进行事后分析。
-XX:+/-UseTLAB:虚拟机是否使用本地线程分配缓冲(Thread Local Allocation Buffer,TLAB)
方法区
-XX:PermSize:设置方法区容量
-XX:MaxPermSize:设置方法区的最大容量
-XX:MaxMetaspaceSize:设置元空间最大值,默认是-1,即不限制,或者说只受限于本地内存大小。
-XX:MetaspaceSize:指定元空间的初始空间大小,以字节为单位,达到该值就会触发垃圾收集进行类型卸载,同时收集器会对该值进行调整:如果释放了大量的空间,就适当降低该值;如果释放了很少的空间,那么在不超过-XX:MaxMetaspaceSize(如果设置了的话)的情况下,适当提高该值。
-XX:MinMetaspaceFreeRatio:作用是在垃圾收集之后控制最小的元空间剩余容量的百分比,可减少因为元空间不足导致的垃圾收集的频率。
-XX:MaxMetaspaceFreeRatio,用于控制最大的元空间剩余容量的百分比。
直接内存
-XX:MaxDirectMemorySize:用于控制直接内存的最大容量,如果不去指定,则默认与Java堆最大值(由-Xmx指定)一致