查看JVM运行时参数
1. -XX:+PrintFlagsInitial 查看初始值
= 表示默认值
:= 表示被用户或JVM修改后的值
//通过以下命令查看 java -XX:+PrintFlagsFinal -version
2.-XX:+PrintFlagsFinal 查看最终值
3.-XX:+UnlockExperimentalVMOptions 解锁实验函数
4.-XX:+UnlockDiagnosticVMOptions 解锁诊断参数
5.-XX:+PrintCommandLineFlags 打印命令行参数
JVM 工具:
jps jinfo jstat jstack
//通过jps 找到JVM相关进程信息 C:\Users>jps 11184 Bootstrap 5040 PULSEI~1.JAR 6624 org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar 1556 Jps 7028 OracleIdeLauncher 8984 OracleIdeLauncher 9116 Bootstrap //通过jstat -class打印JVM类加载信息 jstat -class <jvmpid> <间隔毫秒> <执行次数> --每间隔一秒打印一次类加载信息 打印十次 C:\Users>jstat -class 9116 1000 10 Loaded Bytes Unloaded Bytes Time 5704 11567.4 0 0.0 10.55 5704 11567.4 0 0.0 10.55 5704 11567.4 0 0.0 10.55 5704 11567.4 0 0.0 10.55 5704 11567.4 0 0.0 10.55 5704 11567.4 0 0.0 10.55 5704 11567.4 0 0.0 10.55 5704 11567.4 0 0.0 10.55 5704 11567.4 0 0.0 10.55 5704 11567.4 0 0.0 10.55 --Loaded:加载class的数量 --Bytes:所占用空间大小 --Unloaded:未加载数量 --Bytes:未加载占用空间 --Time:时间
//通过jstat -gc 查看gc情况
C:\Users> jstat -gc 9116 S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT 11008.0 14656.0 10985.2 0.0 186816.0 105325.4 126784.0 17733.9 - - - - 8 0.219 0 0.000 0.219
--S0C S1C S0U S1U 为S0 S1的总量和使用量 (C总量 U使用领)
--EC EU 为Eden区总量和使用量
-- OC OU 为Old区总量和使用量
--MC MU 为MetaSpace区总量和使用量
--CCSC CCSU 压缩空间的总量和使用量
--YGC YGCT YongCG的次数与时间
--FGC FGCT FullGC的次数与时间
--GCT 总的GC时间
S0C:年轻代中第一个survivor(幸存区)的容量 (字节)
S1C:年轻代中第二个survivor(幸存区)的容量 (字节)
S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
EC:年轻代中Eden(伊甸园)的容量 (字节)
EU:年轻代中Eden(伊甸园)目前已使用空间 (字节)
OC:Old代的容量 (字节)
OU:Old代目前已使用空间 (字节)
PC:Perm(持久代)的容量 (字节)
PU:Perm(持久代)目前已使用空间 (字节)
YGC:从应用程序启动到采样时年轻代中gc次数
YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
FGC:从应用程序启动到采样时old代(全gc)gc次数
FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
GCT:从应用程序启动到采样时gc用的总时间(s)
NGCMN:年轻代(young)中初始化(最小)的大小 (字节)
NGCMX:年轻代(young)的最大容量 (字节)
NGC:年轻代(young)中当前的容量 (字节)
OGCMN:old代中初始化(最小)的大小 (字节)
OGCMX:old代的最大容量 (字节)
OGC:old代当前新生成的容量 (字节)
PGCMN:perm代中初始化(最小)的大小 (字节)
PGCMX:perm代的最大容量 (字节)
PGC:perm代当前新生成的容量 (字节)
S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比
S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比
E:年轻代中Eden(伊甸园)已使用的占当前容量百分比
O:old代已使用的占当前容量百分比
P:perm代已使用的占当前容量百分比
S0CMX:年轻代中第一个survivor(幸存区)的最大容量 (字节)
S1CMX :年轻代中第二个survivor(幸存区)的最大容量 (字节)
ECMX:年轻代中Eden(伊甸园)的最大容量 (字节)
DSS:当前需要survivor(幸存区)的容量 (字节)(Eden区已满)
TT: 持有次数限制
MTT : 最大持有次数限制