导读 Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。

jstat的用法:

jstat [ generalOption, outputOptions vmid, [ interva,count ]

参数:

    generalOption: 一般使用-gcutil查看GC情况
    vmid: 虚拟机进程号,即当前运行的java进程号
    interval: 间隔时间,单位为秒或毫秒
    count: 打印次数,如果缺省则打印无数次
1、查询GC总体使用情况
jstat -gcutil 23484 1000 5

结果说明:

    S0: 新生代中Survivor space 0区已使用空间的百分比
    S1: 新生代中Survivor space 1区已使用空间的百分比
    E: 新生代已使用空间的百分比
    O: 老年代已使用空间的百分比
    M:元数据区使用比例
    CCS:压缩使用比例
    YGC: 从应用程序启动到当前,发生Yang GC 的次数
    YGCT: 从应用程序启动到当前,Yang GC所用的时间【单位秒】
    FGC: 从应用程序启动到当前,发生Full GC的次数
    FGCT: 从应用程序启动到当前,Full GC所用的时间
    GCT: 从应用程序启动到当前,用于垃圾回收的总时间【单位秒】
2、垃圾总体回收统计
jstat -gc 18528 1000 5

    S0C:第一个幸存区的大小
    S1C:第二个幸存区的大小
    S0U:第一个幸存区的使用大小
    S1U:第二个幸存区的使用大小
    EC:伊甸园区的大小
    EU:伊甸园区的使用大小
    OC:老年代大小
    OU:老年代使用大小
    MC:方法区大小
    MU:方法区使用大小
    CCSC:压缩类空间大小
    CCSU:压缩类空间使用大小
    YGC:年轻代垃圾回收次数
    YGCT:年轻代垃圾回收消耗时间
    FGC:老年代垃圾回收次数
    FGCT:老年代垃圾回收消耗时间
    GCT:垃圾回收消耗总时间
3、新生代垃圾回收统计
jstat -gcnew 18528 1000 5

    S0C:第一个幸存区大小
    S1C:第二个幸存区的大小
    S0U:第一个幸存区的使用大小
    S1U:第二个幸存区的使用大小
    TT:对象在新生代存活的次数
    MTT:对象在新生代存活的最大次数
    DSS:期望的幸存区大小
    EC:伊甸园区的大小
    EU:伊甸园区的使用大小
    YGC:年轻代垃圾回收次数
    YGCT:年轻代垃圾回收消耗时间
4、堆内存统计
jstat -gccapacity 18528 1000 5 //整体统计
jstat -gcnewcapacity 18528 1000 5 //新生代统计
jstat -gcoldcapacity 18528 1000 5 //老年代统计

    NGCMN:新生代最小容量
    NGCMX:新生代最大容量
    NGC:当前新生代容量
    S0C:第一个幸存区大小
    S1C:第二个幸存区的大小
    EC:伊甸园区的大小
    OGCMN:老年代最小容量
    OGCMX:老年代最大容量
    OGC:当前老年代大小
    OC:当前老年代大小
    MCMN:最小元数据容量
    MCMX:最大元数据容量
    MC:当前元数据空间大小
    CCSMN:最小压缩类空间大小
    CCSMX:最大压缩类空间大小
    CCSC:当前压缩类空间大小
    YGC:年轻代gc次数
    FGC:老年代GC次数

原文来自:https://blog.51cto.com/janephp/2431962

本文地址:https://www.linuxprobe.com/detailed-jstat-command.html编辑:冯瑞涛,审核员:逄增宝

Linux命令大全:https://www.linuxcool.com/