JVM参数类型

JVM参数类型

标准选项

使用 java -help 查看支持的选项

  • -server
  • -client
  • -version
  • -showversion
  • -cp
  • -classpath
1
2
3
4
[root@localhost software]# java -version
openjdk version "1.8.0_302"
OpenJDK Runtime Environment (build 1.8.0_302-b08)
OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode)

附加选项

使用 java -X 查看支持的选项

  • -Xint:解释执行模式
  • -Xcomp:JVM 优先以编译模式运行,不能编译的,以解释模式运行
  • -Xmixed:混合模式,JVM 自己来决定是否编译成本地代码
1
2
3
4
[root@localhost software]# java -Xcomp -version
openjdk version "1.8.0_302"
OpenJDK Runtime Environment (build 1.8.0_302-b08)
OpenJDK 64-Bit Server VM (build 25.302-b08, compiled mode)

高级选项

使用 java -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMoptions -XX:+PrintFlagsInitial 查看支持的选项,或使用 jhsdb clhsdb –pid 进程号 查看

  • = 表示默认值,:= 被用户或者JVM 修改后的值
  • Boolean 类型:-XX:[+-] 表示启用或禁用 name 属性
  • 非 Boolean 类型:-XX:= 表示 name 属性的值是 vlaue
1
2
3
4
5
-XX:+PrintFlagsInitial:打印初始参数
-XX:+PrintFlagsFinal:打印最终参数
-XX:+UnlockExperimentalVMOptions:解锁实验参数
-XX:+UnlockDiagnosticVMOptions:解锁诊断参数
-XX:+PrintCommandLineFlags:打印命令行参数
1
2
3
4
5
6
7
8
9
10
11
12
[root@localhost software]# java -XX:+PrintFlagsFinal -version
[Global flags]
intx ActiveProcessorCount = -1 {product}
uintx AdaptiveSizeDecrementScaleFactor = 4 {product}
uintx AdaptiveSizeMajorGCDecayTimeScale = 10 {product}
uintx AdaptiveSizePausePolicy = 0 {product}
uintx AdaptiveSizePolicyCollectionCostMargin = 50 {product}
uintx AdaptiveSizePolicyInitializingSteps = 20 {product}
uintx AdaptiveSizePolicyOutputInterval = 0 {product}
uintx AdaptiveSizePolicyWeight = 10 {product}
uintx AdaptiveSizeThroughPutPolicy = 0 {product}
uintx AdaptiveTimeWeight = 25 {product}