JVM的参数类型
一、JVM的参数类型
-
标配参数
-
java -version
-
java -help
-
java -showversion打印产品版本并继续
-
X参数(了解)
-
-Xint 在解释模式下,-Xint会强制JVM执行所有的字节码,这会降低运行速度,通常低10倍或更多。 编译快,运行慢。
-
-Xcomp 与-Xint正好相反,JVM在第一次使用时会把所有的字节码编译成本地代码,从而带来最大程度优化。但是很多应用在使用-Xcomp也会有一些性能损失,当然这比使用-Xint损失的少,原因是-xcomp没有让JVM启用JIT编译器的全部功能。JIT编译器可以对是否需要编译做出判断,如果所有代码都进行编译的话,对一些只执行一次的代码就毫无意义了。编译慢,运行快。
-
-Xmixed 是混合模式,将 解释模式与编译模式进行混合使用,由jvm自己决定,这也是jvm默认的模式,也是推荐使用的模式。

-
XX参数:主要用于jvm调优和debug操作
-
Boolean类型
-
格式:-XX:[+-]<name> 表示启用或禁用<name>属性。
-
如:-XX:+DisableExplicitGC 表示禁用手动调用System.gc()
-
如:-XX:+UseSerialGC使用串行垃圾回收器
-
KV设值类型
-
格式:-XX:<name>=<value> 表示<name>属性的值为<value> 。
-
如:-XX:NewRatio=1 表示新生代和老生代的比值。
-
如:-XX:MetaspaceSize=128m设置元空间的大小
-
如:-XX:MaxTenuringThreshould=15设置新生代对象经过多少次可以晋升到老年代
查看一个正在运行中的java程序,它的某个jvm参数是否开启?具体值是多少?
jsp查看进程编号
jinfo查看当前运行程序的配置:公式:jinfo -flag 配置项 进程编号
jinfo -flag PrintGCDetails 30124

-XX:+PrintGCDetails打印GC收集细节

两个经典参数-Xmx和-Xms
-Xmx和-Xms表示设置JVM的最大内存和最小内存,它们不是X参数,而是XX参数。
-
-Xmx等价于-XX:MaxHeapSize,JVM最大允许分配的堆内存,按需分配
-
-Xms等价于-XX:InitialHeapSize,JVM初始分配的堆内存
-
-Xss设置堆栈,也是XX参数,等价于-XX:ThreadStackSize
查看运行时参数的值:
jinfo -flag MaxHeapSize 31624
jinfo -flag InitialHeapSize 31624
