常用的Java虚拟机(JVM)调优参数有很多,以下是一些重要的参数:
-Xms 和 -Xmx:这两个参数分别设置了JVM启动内存的最小值和最大值,单位通常是M(兆)。将-Xmx和-Xms设置为一样可以避免JVM内存自动扩展。
-verbose:gc:这个参数可以输出虚拟机中GC的详细情况。
-Xss:这个参数可以设置虚拟机栈的大小,单位通常是K(千字节)或M(兆字节)。
-XX:PermSize= 和 -XX:MaxPermSize=:这两个参数分别设置了JVM初始分配的永久代(方法区)的容量和JVM允许分配的永久代(方法区)的最大容量,单位通常是M(兆)。
-XX:NewRatio=:这个参数设置了年轻代(包括Eden和两个Survivor区)/老年代的大小比值,例如,-XX:NewRatio=4表示年轻代占整个堆的1/5。
-XX:SurvivorRatio=:这个参数设置了2个Survivor区:1个Eden区的大小比值,例如,-XX:SurvivorRatio=8表示Survivor区占整个年轻代的1/5。
-Xmn:这个参数设置了年轻代的大小。
-XX:+HeapDumpOnOutOfMemoryError:这个参数可以让虚拟机在出现内存溢出异常时Dump出当前的堆内存转储快照。
以上只是部分常用的JVM调优参数,实际上还有很多其他的参数可以进行JVM调优。在使用这些参数时,需要注意参数的具体含义和适用场景,以及参数之间的相互影响,以避免不必要的副作用。