Jstat命令详解

本文出处Jstat命令详解 转载请说明出处
jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。
下面展示常用命令
jstat –class : 显示加载class的数量,及所占空间等信息。
可以列出当前JVM版本支持的选项,常见的有
  • -class 类加载器
显示列名 具体描述
Loaded 装载的类的数量
Bytes 装载的字节数
Unloaded 卸载的类的数量
Bytes 卸载的类数量
Time 装载和卸载的使用时间
例子如下
jstat -class 86517 LoadedBytesUnloadedBytesTime 18051 32345.300.0112.14

jstat -compiler pid显示VM实时编译的数量等信息。
显示列名 具体描述
Compiled 编译任务执行数量
Failed 编译任务执行错误的数量
Invalid 编译任务执行失效的数量
Time 编译任务执行的时间
FailedType 编译任务最后一个执行的类型
FailedMethod 最后一个编译失败任务所在的类及方法
例子如下
jstat -compiler 86517 Compiled Failed InvalidTimeFailedType FailedMethod 2318390459.211

jstat -gc : 可以显示gc的信息,查看gc的次数,及时间。
列名 描述
S0C 幸存区Survior1 S0空间容量 (kb)
S1C 幸存区Survior S1空间容量(kb)
S0U 幸存区Survior1 S0使用空间(kb)
S1U 幸存区Survior S1 使用空间(kb)
EC Eden 区空间容量(kb)
EU Eden 区使用空间(kb)
OC 老年代Old空间容量(kb)
OU 老年代Old(kb)
MC 元空间MetaSpace 空间容量(kb)
MU 元空间MetaSpace使用空间(kb)
CCSC 压缩类空间容量(kb)
CCSU 压缩类使用空间(kb)
YGC 年轻代gc回收数量
YGCT 年轻代gc收集时间
FGC full gc执行数量
FGCT full gc 执行总时间
GCT 总垃圾回收时间
例子如下
jstat -gc 86517 S0CS1CS0US1UECEUOCOUMCMUCCSCCCSUYGCYGCTFGCFGCTGCT 66560.0 66560.00.07215.7 532480.0 89819.81431552.01291011.4108752.0 101631.2 15004.0 11994.810491163.75500.000163.755

jstat -gccapacitypid 查看内存中堆的分代内存大小
列名 描述
NGCMN Young 年轻代最小的新一代容量(kB)
NGCMX Young 年轻代最大新一代容量(kB)
NGC Young 年轻代 当前容量(kB)
S0C 幸存区Survior S0空间容量 (kB)
S1C 幸存区Survior S1空间容量 (kB)
EC Eden区空间容量(kB)
OGCMN Old老年代最小的新一代容量(kB)
OGCMX Old老年代最大新一代容量(kB)
OGC 当前Old老年代容量(kB)
OC 当前旧的Old老年代容量(kB)
MCMN 最小Metaspace元空间容量(kB)
MCMX 最大Metaspace元空间容量(kB)
MC Metaspace元空间容量(kB)
CCSMN 压缩类最小空间(kB)
CCSMX 压缩类最大空间(kB)
CCSC 压缩类的空间(kB)
YGC 年轻代 GC 事件的数量
FGC Full GC 事件的数量
例子如下:
jstat -gccapacity 86517 NGCMNNGCMXNGCS0CS1CECOGCMNOGCMXOGCOCMCMNMCMXMCCCSMXCCSCYGCFGC 0.0 665600.0 665600.0 66560.0 66560.0 532480.00.01431552.01431552.01431552.00.0 1138688.0 104144.00.0 1048576.014492.03500

-gccause 显示有关垃圾收集统计信息的摘要
列名 描述
S0 幸存区Survior S0利用率占空间当前容量的百分比
S1 幸存区Survior S1利用率占空间当前容量的百分比
E Eden区利用率占空间当前容量的百分比
O Old老年代利用率占空间当前容量的百分比
M Metaspace元空间利用率占空间当前容量的百分比
CCS 以百分比形式压缩的类空间利用率
YGC 年轻代 GC 事件的数量
YGCT 年轻代垃圾回收时间
FGCT 老年代GC时间
GCT 总垃圾回收时间
LGCC 上次垃圾回收的原因
GCC 当前垃圾回收的原因
例子如下
jstat -gccause 86517 S0S1EOMCCSYGCYGCTFGCFGCTGCTLGCCGCC 0.007.93 42.7786.8593.5179.914259.17300.0009.173 CMS Initial MarkNo GC

-gcnew 年轻代对象的信息
列名 描述
S0C 幸存区Survior S0空间容量 (kb)
S1C 幸存区Survior S1空间容量(kb)
S0U 幸存区Survior1 S0使用空间(kb)
S1U 幸存区Survior S1 使用空间(kb)
TT 年轻代晋升到年老代的阈值
MTT 年轻代晋升到年老代最大阈值
DSS 所需的Survior1幸存者大小
EC Eden 区空间容量(kb)
EU Eden 区使用空间(kb)
YGC 年轻代gc回收数量
YGCT 年轻代gc收集时间
例子如下
jstat -gcnew 86517 S0CS1CS0US1UTT MTTDSSECEUYGCYGCT 66560.0 66560.00.0 5509.0 1010 33280.0 532480.0 173025.74659.724

jstat -gcnewcapacity 年轻代空间大小统计
列名 描述
NGCMN Young 年轻代最小的新一代容量(kB)
NGCMX Young 年轻代最大新一代容量(kB)
NGC Young 年轻代 当前容量(kB)
S0CMX 幸存区Survior S0最大容量(kB)
S0c 存区Survior S0空间容量 (kb)
S1CMX 幸存区Survior S1最大容量(kB)
S1C 存区Survior S1空间容量 (kb)
ECMX Eden 区空间最大容量(kb)
EC Eden 区空间容量(kb)
YGC 年轻代gc回收数量
FGC Full gc 执行回收数量
例子如下
jstat -gcnewcapacity 86517 NGCMNNGCMXNGCS0CMXS0CS1CMXS1CECMXECYGCFGC 0.0665600.0665600.066560.066560.066560.066560.0532480.0532480.05120

jstat -gcold 年老代空间大小统计
列名 描述
MC Metaspace元空间容量(kB)
MU 元空间MetaSpace使用空间(kb)
CCSC 压缩类的空间(kB)
CCSU 压缩类使用空间(kb)
OC 老年代Old空间容量(kb)
OU 老年代Old(kb)
YGC 年轻代gc回收数量
FGC Full gc 执行回收数量
FGCT 老年代GC时间
GCT 总垃圾回收时间
例子如下
jstat -gcold 86517 MCMUCCSCCCSUOCOUYGCFGCFGCTGCT 104656.097895.114492.011590.21431552.01245031.192400.00016.289

jstat -gcoldcapacity 年老代容量空间大小统计
列名 描述
OGCMN Old年老代最小容量(kb)
OGCMX Old年老代最大容量(kb)
OGC 当前Old老年代容量(kB)
OC 当前旧的Old老年代容量(kB)
YGC 年轻代gc回收数量
FGC Full gc 执行回收数量
FGCT 老年代GC时间
GCT 总垃圾回收时间
例子如下
jstat -gcoldcapacity86517 OGCMNOGCMXOGCOCYGCFGCFGCTGCT 0.01431552.01431552.01431552.01431552.093900.00016.459

jstat -gcmetacapacity 元数据空间统计
列名 描述
MCMN 最小Metaspace元空间容量(kB)
MCMX 最大Metaspace元空间容量(kB)
MC Metaspace元空间容量(kB)
CCSMN 压缩类最小空间(kB)
CCSMX 压缩类最大空间(kB)
CCSC 压缩类空间容量(kb)
CCSU 压缩类使用空间(kb)
YGC 年轻代gc回收数量
FGC Full gc 执行回收数量
FGCT 老年代GC时间
GCT 总垃圾回收时间
例子如下
jstat -gcmetacapacity86517 MCMNMCMXMCCCSMNCCSMXCCSCYGCFGCFGCTGCT 0.01140736.0104656.00.01048576.014492.096500.00016.805

jstat -gcutil 垃圾收集统计信息摘要
列名 描述
S0 幸存区Survior S0利用率占空间当前容量的百分比
S1 幸存区Survior S1利用率占空间当前容量的百分比
E Eden区利用率占空间当前容量的百分比
O Old老年代利用率占空间当前容量的百分比
M Metaspace元空间利用率占空间当前容量的百分比
CCS 以百分比形式压缩的类空间利用率
YGC 年轻代 GC 事件的数量
YGCT 年轻代垃圾回收时间
FGCT 老年代GC时间
GCT 总垃圾回收时间
例子如下
jstat -gcutil86517 S0S1EOMCCSYGCYGCTFGCFGCTGCT 0.007.4071.8786.9493.5579.9897916.99200.00016.992

jstat -printcompilation Java HotSpot 虚拟机 编译方法统计
列名 描述
Compiled 最近编译的方法执行的编译任务数
Size 最近编译的方法的字节码的字节数
Type 最近编译的方法的编译类型
Method 标识最近编译的方法的类名和方法名
例子如下
jstat -printcompilation86517 CompiledSizeType Method 29939771 org/apache/lucene/codecs/perfield/PerFieldDocValuesFormat$FieldsWriter

【Jstat命令详解】Oracle官方文档

    推荐阅读