1、你说你做过JVM调优和参数配置,如何盘点查看JVM系统默认值?
- -Xms:初始堆空间
- -Xmx:堆空间最大值
- -Xss:初始栈空间
- ......
调整时需要from和to。
之前讲过调整时,-Xms和-Xmx最好要调成一致,避免频繁地收集,忽高忽低。
1.1、JVM的参数类型
1.1.1、标配参数
各个版本之间很稳定,很少有变化
- -version
- -help
- java-showversion
1.1.2、x参数(了解)
- -Xint:解释执行
- -Xcomp:第一次使用就编译成本地代码
- -Xmixed:混合模式java
1.1.3、xx参数*
xx参数主要分为两种
1.1.3.1、Boolean类型
公式:
-XX:(+/-)某个属性值
其中 + 表示开启;- 表示关闭。
例子
-
PrintGCDetails
:是否打印GC收集细节 -
UseSerialGC
:是否使用串行垃圾回收器
1.1.3.1.1、JPS、JINFO查看运行中的Java程序的JVM参数
查看一个正在运行的Java程序,他的某个jvm参数是否开启?具体值是多少?
使用
- Jps
- Jinfo
- jps -l:查看当前运行的程序的进程号
- jinfo -flag PrintGCDetails 13632(进程号)
- -> -XX:+PrintGCDetails (说明当前运行环境的参数设置为使用)
1.1.3.2、K-V设值类型
公式:
-XX:属性key=属性值value
例子
-
-XX:MetaspaceSize=128m
默认初始值为-XX:MetaspaceSize=21807104,(约为21M) -
-XX:MaxTenuringThreshold=15
年轻代到老年代的循环次数,即经过15次GC仍未死亡就可以转至老年代。