JVM的参数类型:
** 1. 标配参数:**
- java -version、java -help、java -showversion.
** 2.X参数(了解):**
- -Xint、解释执行。
- -Xcomp、第一次使用就编译成本地代码。
- -Xmixed。混合模式。
** 3.XX参数:jps -l(查进程号)。jinfo -flag 具体参数 java进程编号(查看配置)**
- - Boolean类型:公式:-XX:+(或者-)某个属性值。+表示开启,-表示关闭。 例如:在VM options中添加开启GC收集细节
- ** -KV设值类型: **:公式:-XX:属性key=属性值value。
eg:--XX:MetapaceSize=128m(设置元空间值为128m)
eg:-XX:MaxTenuringThreshold=15(Young区升Old区的次数)。
查看参数盘点家底java -XX:+PrintFlagsInitial
查看修改过的参数:-XX:+PrintFlagsInitial =表示没有被修改的。:=表示被修改过的。
坑:-Xms和-Xmx属于X还是XX哪个?
- -Xms:等价于:-XX:InitialHeapSize。:初始大小内存,默认为物理内存1/64
- -Xmx:等价于:-XX:MaxHeapSize。:最大分配内存,默认为物理内存1/4
其他参数:
-
-Xss:等价于-XX:ThreadStackSize。:设置单个线程栈的大小,一般默认为512K~1024K。
-
Xmn:设置年轻代大小。默认1/3堆空间。
-
XX:MetaspaceSize:设置元空间的大小。元空间的本质和永久代类似,都是对JVM规范中方法区的实现。不过元空间与永久代之间最大的区别在于:云空间并不在虚拟机中,而是使用本地内存。因此,默认情况下。元空间的大小仅受本地内存限制。
-
-XX:+UseSerialGC:串行垃圾回收。
-
-XX:+UseParallelGC:并行垃圾回收。
- -XX:+PrintGCDetails:输出详细GC收集日志信息。 -
-XX:SurvivorRatio:设置新生代中Eden和S0/S1空间的比例(默认:8:1:1)
-
-XX:NewRatio:配置年轻代与老年代在堆结构的占比(默认新生代占1/3,老年代占2/3)
-
-XX:设置垃圾的最大年龄。(最高值为15)