Java 命令:jstat

简介

        jstat(java virtual machine statistics Monitoring Tool)jvm统计监控工具。

        jstat用于监控基于HotSpot的jvm,对其堆的使用情况进行实施的命令行的统计。

        可以针对以下选项对jvm进行不同维度的统计。

        也可以通过jstat -options查看支持的option

Option Displays...
class 用于查看类加载情况的统计
compiler 用于查看HotSpot中即时编译器编译情况的统计
gc 用于查看JVM中堆的垃圾收集情况的统计
gccapacity 用于查看新生代、老生代及持久代的存储容量情况
gccause 用于查看垃圾收集的统计情况(这个和-gcutil选项一样),如果有发生垃圾收集,它还会显示最后一次及当前正在发生垃圾收集的原因。
gcnew 用于查看新生代垃圾收集的情况
gcnewcapacity 用于查看新生代的存储容量情况
gcold 用于查看老生代及持久代发生GC的情况
gcoldcapacity 用于查看老生代的容量
gcpermcapacity 用于查看持久代的容量
gcutil 用于查看新生代、老生代及持代垃圾收集的情况
printcompilation   HotSpot编译方法的统计

使用示例

        类加载统计

[root@localhost app]# jstat -class 7329
Loaded  Bytes  Unloaded  Bytes     Time   
 10414 18847.4        0     0.0       4.03

        loaded:加载class的数量

        Bytes:所占用的空间大小

        Unloaded:未加载数量

        Bytes:未加载占用的空间

        Time:时间

        编译统计

扫描二维码关注公众号,回复: 2036954 查看本文章
[root@localhost app]# jstat -compiler 7329
Compiled Failed Invalid   Time   FailedType FailedMethod
    9246      0       0    23.07          0

        Compiled:编译数量

        Failed:失败数量

        Invalid:无效数量

        Time:时间

        FailedType:失败的类型

        FailedMethod:失败的方法

        垃圾回收统计

[root@localhost app]# jstat -gc 7329
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT   
29696.0 21504.0  0.0   21091.3 594432.0 258639.8  90624.0    33564.0   55168.0 53907.7 7040.0 6761.2     19    0.155   2      0.092    0.247

        S0C:(Survivor)年轻代中第一个幸存区大小

        S1C:(Survivor)年轻代中第二个幸存区大小

        S0U:(Survivor Used)年轻代中第一个幸存区的使用大小

        S1C:(Survivor Used)年轻代中第二个幸存区的使用大小

        EC:伊甸园区的大小

        EU:伊甸园区的使用大小

        OC:老年代的大小

        OU:老年代的使用大小

        MC:方法区的大小

        MU:方法区的使用大小

        CCSC:压缩类空间的大小

        CCSU:压缩内空间的使用大小

        YGC:(Number of young generation GC Events)年轻代GC事件的数量

        YGCT:(Young generation garbage collection time)年轻代GC的时间

        FGC:(Number of full GC events)完整GC事件的数量

        FGCT:(Full garbage collection time)完整GC的时间

        GCT:(Total garbage collection time)全部GC的时间

        堆内存统计

[root@localhost app]# jstat -gccapacity 7329
 NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC 
 40960.0 649728.0 649728.0 29696.0 21504.0 594432.0    81920.0  1299968.0    90624.0    90624.0      0.0 1097728.0  55168.0      0.0 1048576.0   7040.0     19     2

        NGCMN:新生代最小容量

        NGCMX:新生代最大容量

        NGC:当前新生代容量

        S0C:第一个幸存区大小

        S1C:第二个幸存区大小

        EC:伊甸园区的大下坡

        OGCMN:老年代最小容量

        OGCMX:老年代最大容量

        OGC:当前老年代大小

        OC:当前老年代大小

        MCMN:最小元数据容量

        MCMX:最大元数据容量

        MC:当前元数据空间

        CCSMN:最小压缩类空间大小

        CCSMX:最大压缩类空间大小

        CCSC:当前压缩类空间大小

        YGC:年轻代GC次数

        FGC:老年代GC次数

        新生代垃圾回收统计

[root@localhost app]# jstat -gcnew 7329
 S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT  
29696.0 21504.0    0.0 21091.3  4  15 29696.0 594432.0 358286.6     19    0.155

        S0C:第一个幸存区的大小

        S1C:第二个幸存区的大小

        S0U:第一个幸存区的使用大小

        S1U:第二个幸存区的使用大小

        TT:对象在新生代的存活次数

        MTT:对象在新生代的最大存活次数

        DSS:期望的幸存区大小

        EC:伊甸园区的大小

        EU:伊甸园区的使用大小

        YGC:年轻的垃圾回收的次数

        YGCT:年轻代垃圾回收的时间

        新生代内存统计

[root@localhost app]# jstat -gcnewcapacity 7329
  NGCMN      NGCMX       NGC      S0CMX     S0C     S1CMX     S1C       ECMX        EC      YGC   FGC 
   40960.0   649728.0   649728.0 216576.0  29696.0 216576.0  21504.0   648704.0   594432.0    19     2

        NGCMN:新生代最小容量

        NGCMX:新生代最大容量

        NGC:当前新生代容量

        S0CMX:第一个幸存区最大大小

        S0C:第一个幸存区当前大小

        S1CMX:第二个幸存区最大大小

        S1C:第二个幸存区当前大小

        ECMX:伊甸园区最大大小

        EC:伊甸园区当前大小

        YGC:年轻代垃圾回收次数

        FGC:老年代垃圾回收次数

        老年代垃圾回收统计

[root@localhost app]# jstat -gcold 7329
   MC       MU      CCSC     CCSU       OC          OU       YGC    FGC    FGCT     GCT   
 55168.0  53907.7   7040.0   6761.2     90624.0     33564.0     19     2    0.092    0.247

        MC:方法区大小

        MU:方法区使用大小

        CCSC:压缩空间大小

        CCSU:压缩空间已使用大小

        OC:老年代大小

        OU:老年代已使用大小

        YGC:年轻代垃圾回收次数

        FGC:老年代垃圾回收次数

        FGCT:老年代垃圾回收消耗时间

        GCT:垃圾回收消耗总时间

        老年代内存统计

[root@localhost app]# jstat -gcoldcapacity 7329
   OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT   
    81920.0   1299968.0     90624.0     90624.0    19     2    0.092    0.247

        OGCMN:老年代最小容量

        OGCMX:老年代最大容量

        OGC:当前老年代大小

        OC:老年代大小

        YGC:年轻代垃圾回收次数

        FGC:老年代垃圾回收次数

        FGCT:老年代垃圾回收时间

        GCT:垃圾回收总时间

        元数据空间统计

[root@localhost app]# jstat -gcmetacapacity 7329
   MCMN       MCMX        MC       CCSMN      CCSMX       CCSC     YGC   FGC    FGCT     GCT   
       0.0  1097728.0    55168.0        0.0  1048576.0     7040.0    19     2    0.092    0.247

        MCMN:最小元数据大小

        MCMX:最大元数据大小

        MC:当前元数据大小

        CCSMN:最小压缩空间大小

        CCSMX:最大压缩空间大小

        CCSC:当前压缩类空间大小

        YGC:年轻代垃圾回收次数

        FGC:老年代垃圾回收次数

        FGCT:老年代垃圾回收时间

        GCT:垃圾回收总时间

        总结垃圾回收统计

[root@localhost app]# jstat -gcutil 7329
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   
  0.00  98.08  72.83  37.04  97.72  96.04     19    0.155     2    0.092    0.247

        S0:第一个幸存区的使用比率

        S1:第二个幸存区的使用比率

        E:伊甸园区的使用比率

        O:老年代的使用比率

        M:元数据的使用比率

        CCS:压缩空间的使用比率

        YGC:年轻代垃圾回收次数

        FGC:老年代垃圾回收次数

        FGCT:老年代垃圾回收时间

        GCT:垃圾回收时间

        HotSpot编译方法统计

[root@localhost app]# jstat -printcompilation 7329
Compiled  Size  Type Method
    9953     13    1 javax/servlet/http/HttpServletResponseWrapper _getHttpServletResponse

        Compiler:编译方法的数量

        Size:编译方法的字节码数量

        Type:编译类型

        Method:编译方法标识

参考:

jstat(官网)

猜你喜欢

转载自blog.csdn.net/u014209205/article/details/80706946