文章目录
Xms
-Xms 20M表示设置JVM启动内存的最小值为20M,必须以M为单位
Xmx
-Xmx 20M表示设置JVM启动内存的最大值 为20M,必须以M为单位. 将-Xms和-Xmx的大小设置为一样可以避免内存自动扩展.
Xmn
-Xmn 20M表示设置年轻代的大小为20M
verbose
-verbose:gc表示输出虚拟机中GC的详细情况.
Xss
-Xss 128K 表示可以设置虚拟机栈的大小为128K
Xoss
-Xoss 128K 表示本地方法栈的大小为128K.不过Hotspot并不区分虚拟机栈和本地方法栈,因此对于HotSpot虚拟机而言这个参数是无效的.
Xnoclassgc
-Xnoclassgc 表示关闭JVM对类的垃圾回收.
XX系列
PermSize
-XX:PermSize=10M 表示JVM初始化分配的永久代的容量,必须以M为单位.
MaxPermSize
-XX:MaxPermSize=10M 表示JVM允许分配的永久代的最大容量,必须以M为单位,大部分情况下这个参数默认为64M.
TraceClassLoading
-XX:+TraceClassLoading 表示查看类的加载信息.
TraceClassUnLoading
-XX:+TraceClassUnLoading表示查看类的卸载信息
NewRatio
-XX:NewRatio=4 表示设置 年轻代:老年代 的大小比例为1:4,这意味着年轻代占整个堆的1/5;
SurvivorRatio
-XX:SurvivorRatio=8 表示设置 两个Survivor区:1个Eden区 的大小比例为2:8,这意味着Survivor区占整个年轻代的1/5.参数默认为8.
HeapDumpOnOutOfMemoryError
-XX:+HeapDumpOnOutOfMemoryError表示可以让虚拟机在出现内存溢出异常时Dump出当前的堆内存转储快照.
UseG1GC
-XX:+UseG1GC 表示让JVM使用G1垃圾收集器.
PrintGCDetails
-XX:+PrintGCDetails 表示在控制台上打印出GC具体细节
PrintGC
-XX:+PrintGC 表示在控制台上打印出GC信息.
PretenureSizeThreshold
-XX:PretenureSizeThreshold=3145728 表示对象大于3145728(3M)时直接进入老年代分配,这里只能以字节作为单位
MaxTenuringThreshold
-XX:MaxTenuringThreshold=1 表示对象年龄大于1,自动进入老年代
CompileThreshold
-XX:CompileThreshold=1000 表示一个方法被调用1000次之后,会被认为是热点代码,并触发即时编译
PrintHeapAtGC
-XX:+PrintHeapAtGC 表示可以看到每次GC前后堆内存布局
PrintTLAB
-XX:+PrintTLAB 表示可以看到TLAB的使用情况
UseSpining
-XX:+UseSpining 表示开启自旋锁
PreBlockSpin
-XX:PreBlockSpin 更改自旋锁的自旋次数,使用这个参数必须先开启自旋锁