JVM参数类型
- 标配参数(了解)
-version
-help
-showversion - X参数(了解)
-Xint 解释执行
-Xcomp 第一次使用就编译成本地代码
-Xmixed 混合模式 - XX参数
3.1 boolean类型:-XX:+/- 某个属性值- +表示开启某个属性
- -表示没有开启
3.2 K-V设值类型:-XX:key=value
JVM参数如何查看
- jps、jinfo
- 如何查看一个正在运行中的java程序,它的某个jvm参数是否开启?具体值是多少?例如:jps(查看java后台运行线程)、jinfo(查看java运行信息)
- 查看Java运行参数信息jinfo -flag:
jinfo -flag 配置项 进程编号 :查看当前运行程序的配置
jinfo -flag InitialHeapSize 11676 :查看初始堆大小
jinfo -flags 进程编号 查看所有配置项
是否使用串行垃圾回收器:-XX:+UseSerialGC | -XX:-UseSerialGC
是否打印GC收集细节:-XX:+PrintGCDetails | -XX:-PrintGCDetails
E:ideaProjectsmq>jinfo -flag MetaspaceSize 11676 #查看MetaspaceSize的值
-XX:MetaspaceSize=21807104
E:ideaProjectsmq>jinfo -flag MaxTenuringThreshold 11676 #多大的极限年龄可以到养老区
-XX:MaxTenuringThreshold=15
-Xms 和 -Xmx:
-Xms 等价于: -XX:InitialHeapSize [查看初始堆大小]
-Xmx 等价于: -XX:MaxHeapSize [查看最大堆大小]
- java -XX:
直接运行 java -XX:+PrintFlagsInitial 查看初始默认值
直接运行 java -XX:+PrintFlagsFinal -version 查看修改更新
Window: java -XX:+PrintFlagsInitial | findstr MaxHeap
Mac: java -XX:+PrintFlagsInitial | grep MaxHeap
E:ideaProjectsmq>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:ideaProjectsmq>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)