jstat
能够查看堆各局部的使用量,以及类加载的数量
jstat所有的参数
> jstat -optionsjstat -class pid # 显示ClassLoad相干信息jstat -compiler pid # 显示JIT编译的相干信息jstat -gc pid # 显示和gc相干的堆信息jstat -gccapacity pid # 显示各个代的容量以及应用状况jstat -gccause pid # 显示垃圾回收相干信息,同时显示最初一次或正在产生GC的起因jstat -gcmetacapacity pid # 显示`metaspace`的大小jstat -gcnew pid # 显示新生代信息jstat -gcnewcapacity pid # 显示新生代大小和应用状况jstat -gcold pid # 显示老年代和永恒代的信息jstat -gcoldcapacity pid # 显示老年代大小jstat -gcutil pid # 显示垃圾收集信息jstat -printcompilation pid # 输入JIT编译的办法信息
jstat -class pid
显示已加载class
的数量,和空间占用状况
> jstat -class 18378Loaded Bytes Unloaded Bytes Time 23192 42406.6 4121 5982.8 12.65
Loaded 已装载类的数量Bytes 已装载类占用的大小Unloaded 曾经卸载类的数量Bytes 已卸载类占用的大小Time 装载类和卸载类的工夫
jstat -compiler pid
显示JVM实时编译(JIT)信息
> jstat -compiler 18378Compiled Failed Invalid Time FailedType FailedMethod 29393 2 0 133.63 1 sun/security/util/math/intpoly/IntegerPolynomialP521 carryReduce
Compiled:编译数量。Failed:失败数量Invalid:不可用数量Time:工夫FailedType:失败类型FailedMethod:失败的办法
jstat -gc pid
显示GC相干信息
jstat -gc 18378 S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT 19968.0 14336.0 0.0 14268.4 1319936.0 672172.2 344064.0 158500.9 145024.0 110813.5 20608.0 12871.0 247 3.224 5 0.794 4.018
S0C:年老代中第一个survivor(幸存区)的容量 (字节)S1C:年老代中第二个survivor(幸存区)的容量 (字节)S0U :年老代中第一个survivor(幸存区)目前已应用空间 (字节)S1U :年老代中第二个survivor(幸存区)目前已应用空间 (字节)EC :年老代中Eden(伊甸园)的容量 (字节)EU :年老代中Eden(伊甸园)目前已应用空间 (字节)OC :Old代的容量 (字节)OU :Old代目前已应用空间 (字节)MC:metaspace(元空间)的容量 (字节)MU:metaspace(元空间)目前已应用空间 (字节)YGC :从应用程序启动到采样时年老代中gc次数YGCT :从应用程序启动到采样时年老代中gc所用工夫(s)FGC :从应用程序启动到采样时old代(全gc)gc次数FGCT :从应用程序启动到采样时old代(全gc)gc所用工夫(s)GCT:从应用程序启动到采样时gc用的总工夫(s)
jstat -gccapacity pid
展现JVM三代空间大小
> jstat -gccapacity 18378 NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC 84992.0 1355776.0 1355776.0 19968.0 14336.0 1319936.0 171008.0 2711552.0 344064.0 344064.0 0.0 1173504.0 145024.0 0.0 1048576.0 20608.0 247 5
NGCMN :年老代(young)中初始化(最小)的大小(字节)NGCMX :年老代(young)的最大容量 (字节)NGC :年老代(young)中以后的容量 (字节)S0C :年老代中第一个survivor(幸存区)的容量 (字节)S1C : 年老代中第二个survivor(幸存区)的容量 (字节)EC :年老代中Eden(伊甸园)的容量 (字节)OGCMN :old代中初始化(最小)的大小 (字节)OGCMX :old代的最大容量(字节)OGC:old代以后新生成的容量 (字节)OC :Old代的容量 (字节)MCMN:metaspace(元空间)中初始化(最小)的大小 (字节)MCMX :metaspace(元空间)的最大容量 (字节)MC :metaspace(元空间)以后新生成的容量 (字节)CCSMN:最小压缩类空间大小CCSMX:最大压缩类空间大小CCSC:以后压缩类空间大小YGC :从应用程序启动到采样时年老代中gc次数FGC:从应用程序启动到采样时old代(全gc)gc次数
jstat -gcmetacapacity pid
> jstat -gcmetacapacity 18378 MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC FGCT GCT 0.0 1173504.0 145024.0 0.0 1048576.0 20608.0 248 5 0.794 4.036
MCMN:最小元数据容量MCMX:最大元数据容量MC:以后元数据空间大小CCSMN:最小压缩类空间大小CCSMX:最大压缩类空间大小CCSC:以后压缩类空间大小YGC :从应用程序启动到采样时年老代中gc次数FGC :从应用程序启动到采样时old代(全gc)gc次数FGCT :从应用程序启动到采样时old代(全gc)gc所用工夫(s)GCT:从应用程序启动到采样时gc用的总工夫(s)
jstat -gcnew pid
年老代对象信息
> jstat -gcnew 18378 S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT 19968.0 24576.0 19940.4 0.0 8 15 24576.0 1306624.0 155059.4 248 3.242
S0C :年老代中第一个survivor(幸存区)的容量 (字节)S1C :年老代中第二个survivor(幸存区)的容量 (字节)S0U :年老代中第一个survivor(幸存区)目前已应用空间 (字节)S1U :年老代中第二个survivor(幸存区)目前已应用空间 (字节)TT:持有次数限度MTT:最大持有次数限度DSS:冀望的幸存区大小EC:年老代中Eden(伊甸园)的容量 (字节)EU :年老代中Eden(伊甸园)目前已应用空间 (字节)YGC :从应用程序启动到采样时年老代中gc次数YGCT:从应用程序启动到采样时年老代中gc所用工夫(s)
jstat -gcnewcapacity pid
年老代对象的信息和占用量
> jstat -gcnewcapacity 18378 NGCMN NGCMX NGC S0CMX S0C S1CMX S1C ECMX EC YGC FGC 84992.0 1355776.0 1355776.0 451584.0 19968.0 451584.0 24576.0 1354752.0 1306624.0 248 5
NGCMN :年老代(young)中初始化(最小)的大小(字节)NGCMX :年老代(young)的最大容量 (字节)NGC :年老代(young)中以后的容量 (字节)S0CMX :年老代中第一个survivor(幸存区)的最大容量 (字节)S0C :年老代中第一个survivor(幸存区)的容量 (字节)S1CMX :年老代中第二个survivor(幸存区)的最大容量 (字节)S1C:年老代中第二个survivor(幸存区)的容量 (字节)ECMX:年老代中Eden(伊甸园)的最大容量 (字节)EC:年老代中Eden(伊甸园)的容量 (字节)YGC:从应用程序启动到采样时年老代中gc次数FGC:从应用程序启动到采样时old代(全gc)gc次数
jstat -gcold pid
old代对象信息
> jstat -gcold 18378 MC MU CCSC CCSU OC OU YGC FGC FGCT GCT 145024.0 111038.1 20608.0 12953.0 344064.0 162323.8 248 5 0.794 4.036
MC :metaspace(元空间)的容量 (字节)MU:metaspace(元空间)目前已应用空间 (字节)CCSC:压缩类空间大小CCSU:压缩类空间应用大小OC:Old代的容量 (字节)OU:Old代目前已应用空间 (字节)YGC:从应用程序启动到采样时年老代中gc次数FGC:从应用程序启动到采样时old代(全gc)gc次数FGCT:从应用程序启动到采样时old代(全gc)gc所用工夫(s)GCT:从应用程序启动到采样时gc用的总工夫(s)
jstat -gcoldcapacity pid
old代对象信息及其占用量
> jstat -gcoldcapacity 18378 OGCMN OGCMX OGC OC YGC FGC FGCT GCT 171008.0 2711552.0 344064.0 344064.0 248 5 0.794 4.036
OGCMN :old代中初始化(最小)的大小 (字节)OGCMX :old代的最大容量(字节)OGC :old代以后新生成的容量 (字节)OC :Old代的容量 (字节)YGC :从应用程序启动到采样时年老代中gc次数FGC :从应用程序启动到采样时old代(全gc)gc次数FGCT :从应用程序启动到采样时old代(全gc)gc所用工夫(s)GCT:从应用程序启动到采样时gc用的总工夫(s)
jstat -gcutil pid
统计GC信息
> jstat -gcutil 18378 S0 S1 E O M CCS YGC YGCT FGC FGCT GCT 99.86 0.00 49.82 47.18 76.57 62.85 248 3.242 5 0.794 4.036
S0 :年老代中第一个survivor(幸存区)已应用的占以后容量百分比S1 :年老代中第二个survivor(幸存区)已应用的占以后容量百分比E :年老代中Eden(伊甸园)已应用的占以后容量百分比O :old代已应用的占以后容量百分比P :perm代已应用的占以后容量百分比YGC :从应用程序启动到采样时年老代中gc次数YGCT :从应用程序启动到采样时年老代中gc所用工夫(s)FGC :从应用程序启动到采样时old代(全gc)gc次数FGCT :从应用程序启动到采样时old代(全gc)gc所用工夫(s)GCT:从应用程序启动到采样时gc用的总工夫(s)
jstat -gccause pid
显示垃圾回收的相干信息(通-gcutil),同时显示最初一次或以后正在产生的垃圾回收的诱因。
> jstat -gccause 18378 S0 S1 E O M CCS YGC YGCT FGC FGCT GCT LGCC GCC 99.86 0.00 50.26 47.18 76.57 62.85 248 3.242 5 0.794 4.036 Allocation Failure No GC
LGCC:最初一次GC起因GCC:以后GC起因(No GC 为以后没有执行GC)
jstat -printcompilation pid
以后JVM执行信息
> jstat -printcompilation 18378Compiled Size Type Method 29469 44 1 hudson/util/LogTaskListener$LogOutputStream <init>
Compiled :编译工作的数目Size :办法生成的字节码的大小Type:编译类型Method:类名和办法名用来标识编译的办法。类名应用/做为一个命名空间分隔符。办法名是给定类中的办法。上述格局是由-XX:+PrintComplation选项进行设置的