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)