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

JVM参数类型:

1、标配参数:

-version
-help
-showversion

2、X参数:

-Xint 解释执行
-Xcomp 第一次使用就编译成本地代码
-Xmixed 混合模式

3、XX参数:

boolean类型: -XX:+/- 某个属性值
+表示开启某个属性
-表示没有开启
例如:使用jps(查看java后台运行线程)、jinfo(查看java运行信息)查看Java运行参数信息:

jinfo -flag 配置项 进程编号 :查看当前运行程序的配置
jinfo -flag InitialHeapSize 11676 :查看初始堆大小
jinfo -flags 进程编号 查看所有配置项

public class HelloGC {

    public static void main(String[] args) throws InterruptedException {
        System.out.println("Hello GC");
        TimeUnit.SECONDS.sleep(Integer.MAX_VALUE);
    }
}
E:\ideaProjects\mq>jps -l
9480
1216 sun.tools.jps.Jps
4124 org.jetbrains.idea.maven.server.RemoteMavenServer
11676 com.wang.mq.activemq_springboot.HelloGC
12316 org.jetbrains.jps.cmdline.Launcher

E:\ideaProjects\mq>jinfo -flag PrintGCDetails 11676 #查看是否打印GC收集细节
-XX:-PrintGCDetails #说明没有这个参数

是否使用串行垃圾回收器:-XX:+UseSerialGC | -XX:-UseSerialGC
是否打印GC收集细节:-XX:+PrintGCDetails | -XX:-PrintGCDetails

K-V设值类型:-XX:key=value

E:\ideaProjects\mq>jinfo -flag MetaspaceSize 11676 #查看MetaspaceSize的值
-XX:MetaspaceSize=21807104

E:\ideaProjects\mq>jinfo -flag MaxTenuringThreshold 11676 #多大的极限年龄可以到养老区
-XX:MaxTenuringThreshold=15

-Xms 和 -Xmx:
-Xms 等价于: -XX:InitialHeapSize
-Xmx 等价于: -XX:MaxHeapSize

另一种方式查看JVM默认值:

直接运行 java -XX:+PrintFlagsInitial 查看初始默认值

C:\Users\wangteng>java -XX:+PrintFlagsInitial | findstr MaxHeap
    uintx MaxHeapFreeRatio                          = 70              {manageable}
    uintx MaxHeapSize                               = 130862280       {product}

直接运行 java -XX:+PrintFlagsFinal -version 查看修改更新

E:\ideaProjects\mq>java -XX:+PrintFlagsFinal -version | findstr MaxHeap
    uintx MaxHeapFreeRatio                          = 100             {manageable}
    uintx MaxHeapSize                              := 2118123520      {product}
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

= JVM默认加载的
:= 人为或JVM修改过的

-XX:+PrintComandLineFlags 查看部分参数,-XX:+UseParallelGC 表示现在的垃圾回收机制

E:\ideaProjects\mq>java -XX:+PrintCommandLineFlags -version
-XX:InitialHeapSize=132345856 -XX:MaxHeapSize=2117533696 -XX:+PrintCommandLineFlags -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

你可能感兴趣的:(#,JVM)