官方地址:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html#BEHHGFAE

一、查看jvm运行参数

1、查看初始参数:java  -XX:+PrintFlagsInitial <具体的参数>

例:java  -XX:+PrintFlagsInitial -version

java 获取 jvm 参数 获取jvm启动参数_java

java 获取 jvm 参数 获取jvm启动参数_垃圾收集_02

备注:"="代表默认值,":="代表被用户或jvm修改过后的值

2、查看最终的参数值(通过程序或命令行修改后的值):-XX:+PrintFlagsFinal

3、解锁实验参数(jvmz中的参数并不是都可以直接修改值):-XX:+UnlockExperimentalVMOptions

4、解锁诊断参数:-XX:+UnlockDiagnosticVmOptions

5、打印命令行参数:-XX:+PringCommandLineFlags

二、查看java进程:jps

java 获取 jvm 参数 获取jvm启动参数_java_03

java 获取 jvm 参数 获取jvm启动参数_类加载_04

jps -l 查看java进程号和具体的java程序

三、查看正在运行的jvm的参数值:jinfo

例:

1、查看正在运行的tomcat的最大堆大小:

jinfo -flag MaxHeapSize <进程号>

2、查看垃圾回收器:

jinfo -flag UseConcMarkSweepGc <进程号>

四、jstat查看jvm统计信息

1、查看类加载信息(1112:进程号,1000:间隔1秒,10:输出10次)

java 获取 jvm 参数 获取jvm启动参数_java_05

2、查看垃圾收集信息

-gc输出结果:

S0C、S1C、S0U、S1U:S0和S1的总量和使用量(S0和S1大小是相等的,在同一个时间点上,只会使用一个,另一个是空的。==swap区)

EC、EU:Eden区总量和使用量

OC、OU:Old区总量和使用量

MC、MU:Metaspace区的总量和使用量

CCSS、CCSU:压缩类空间总量与使用量

YGC、YGCT:YoungGC的次数和时间

FGC、FGCT:FullGC的次数和时间

GCT:总的GC时间

3、查看JIT编译信息

java 获取 jvm 参数 获取jvm启动参数_类加载_06

options: -class(类加载)、-compiler(编译)、-gc(JIT垃圾收集)、-printcompilation

 

java 获取 jvm 参数 获取jvm启动参数_java_07

 

 

java 获取 jvm 参数 获取jvm启动参数_java_08