JVM调优和参数配置,请问如何盘点查看JVM系统默认值

一、JVM的参数类型:

1、标配参数:

1

2

java -version 

java -help

 

JVM调优和参数配置,请问如何盘点查看JVM系统默认值_第1张图片

JVM调优和参数配置,请问如何盘点查看JVM系统默认值_第2张图片

X参数(了解)

JVM调优和参数配置,请问如何盘点查看JVM系统默认值_第3张图片

-Xmixed 混合模式(先编译后执行)

-Xint  解释执行

-Xcomp 第一次使用就编译成本地代码

 

3、XX参数:

  • Boolean类型:公式:-XX:+ (+表示开启 -表示关闭)
  • 是否打印GC收集细节
    -XX:+PrintGCDetails
    -XX:-PrintGCDetails
    是否使用串行垃圾回收器
    -XX:+UseSerialGC
    -XX:-UseSerialGC

JVM调优和参数配置,请问如何盘点查看JVM系统默认值_第4张图片

     问题:如何查看一个正在运行中的java程序,它的某个JVM参数是否开启?

 代码验证:

public class HelloGC {

    public static void main(String[] args) throws InterruptedException {

        System.out.println("*****helloGC");

        Thread.sleep(Integer.MAX_VALUE);

    }

}

1

2

3

jps -l 

jinfo -flag PrintGCDetails 10729

结果:-XX:+PrintGCDetails,表示开启打印 GC 收集细节(默认不开启

 jps -l                                           表示查看java运行的进程号
       jinfo -flag PrintGCDetails  pid    表示查看JVM是否配置PrintGCDetails参数
       -XX:-PrintGCDetails                   减号表示没有配置PrintGCDetails参数

配置JVM -XX:+PrintGCDetails参数

 

  • KV设值类型:公式:-XX:属性key=属性值value=

1

2

3

jps -l

jinfo -flag MetaspaceSize 6932  --若没有配置参数,则查看系统参数默认值

结果:-XX:MetaspaceSize=21807104

1

2

jinfo -flag 配置项 进程编号

jinfo -flags 进程编号

jinfo -flag 配置项 进程编号

JVM调优和参数配置,请问如何盘点查看JVM系统默认值_第5张图片

JVM调优和参数配置,请问如何盘点查看JVM系统默认值_第6张图片

三、两个经典参数:-Xms1024m -Xmx1024m谈谈你的理解

1

2

-Xms等价于 -XX:initialHeapSize

-Xmx等价于 -XX:MaxHeapSize

 

二、如何查看JVM系统参数的默认值

1

2

3

java -XX:+PrintFlagsInitial  --查看出厂默认值

java -XX:+PrintFlagsFinal  --查看修改更新  (= 没有修改过  := 人为修改过)

java -XX:+PrintFlagsFinal -XX:MetaspaceSize=512m   查看系统参数,并修改元空间大小 

 

1

java -XX:+PrintCommandLineFlags -version  --打印命令行参数(可以看默认垃圾回收器)  

结果:-XX:InitialHeapSize=261777856 -XX:MaxHeapSize=4188445696 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

你可能感兴趣的:(JVM)