jvm性能调优工具 jstat

jdk8 jstat

jstat是jdk自带的一个轻量级小工具,可以查看堆内存各各部分的使用量,以及加载类的数量。
格式:jstat 【-命令选项】【间隔时间/毫秒】【查询次数】

jps -v :查看所有进程的pid
jstat -options:查看当前jvm版本支持的选项。
jstat -class pid:类加载统计
    Loaded:加载的class数量
    Bytes:加载的class数量所占用空间大小(kb)
    Unloaded:未加载的class数量
    Bytes:未加载的class占用空间(kb)
    Time:总耗时

jstat -compiler pid:jit编译器行为统计
    compiled:编译任务的执行数量
    Failed:编译任务执行失败数量
    Invalid:编译任务执行无效的数量
    Time:编译任务执行耗时
    FailedType:最后一个编译失败任务的类型
    FailedMethod:最后一个编译失败任务所在的类和方法

jstat -gc pid:查看gc信息,次数,时间
    SOC:第一个survivor区的容量(kb)
    S1C:第二个survivor区的容量(kb)
    SOU:第一个survivor区使用的容量(kb)
    S1U:第二个survivor区使用的容量(kb)
    EC:年轻代中eden区中的容量(kb)
    EU:年轻代中eden区中使用的容量(kb)
    OC:老年代的容量(kb)
    OU:老年代使用的容量(kb)
    MC:方法区的容量(kb)
    MU:方法区使用的容量(kb)
    CCSC:压缩类空间大小
    CCSU:压缩类使用空间大小
    YGC:程序启动到采样时年轻代gc次数
    YGCT:程序启动到采样时年轻代gc所用的时间(秒)
    FGC:程序启动到采样时老年代gc的次数 cms gc次数加2
    FGCT:程序启动到采样老年代gc所用的时间(秒)
    GCT:程序启动到采样时gc所用的时间

jstat -gccapacity pid:统计jvm各代容量和空间占用大小
    NGCMN:年轻代中初始化最小容量大小(kb)
    NGCMX:年轻代中最大容量大小(kb)
    NGC:年轻代当前容量大小(kb)
    SOC:年轻代第一个Survivor区容量(kb)
    S1C:年轻代第二个Survivor区容量(kb)
    EC:年轻代eden区容量(kb)
    OGCMN:老年代中初始化容量大小(kb)
    OGCMX:老年代中最大容量大小(kb)
    OGC:老年代容量大小(kb)
    OC:老年代当前容量大小(kb)
    MCMN:方法区初始化容量大小(kb)
    MCMX:方法区最大容量大小(kb)
    MC:方法区当前容量大小(kb)
    CCSMN:压缩类初始化容量大小(kb)
    CCSMX:压缩类最大容量大小(kb)
    CCSC:压缩类当前容量大小(kb)
    YGC:年轻代gc次数
    FGC:老年代gc次数

jstat -gcutil pid:查看gc情况
    SO:年轻代中第一个Survivor区,已使用的百分比
    S1:年轻代中第二个Survivor区,已使用的百分比
    E:年轻代中eden区,已使用的百分比
    O:老年代已使用的百分比
    M:方法区已使用的百分比
    CCS:压缩类已使用的百分比
    YGC:程序启动到采样时年轻代中gc次数
    YGCT:程序启动到采样时年轻代中gc所用的时间
    FGC:程序启动到采样时老年代gc次数
    FGCT:程序启动到采样时老年代gc所用时长
    GCT:程序到采样时gc用的总时长

jstat -gcnew pid:查看年轻代对象信息
    SOC:年轻代中第一个Survivor区总容量(kb)
    S1C:年轻代中第二个Survivor区总容量(kb)
    SOU:年轻代中第一个Survivor区,目前已使用空间(kb)
    S1U:年轻代中第二个Survivor区,目前已使用空间(kb)
    TT:持有次数限制,晋升年龄阈值
    MTT:最大持有次数限制,最大的存活年龄阈值
    EC:年轻代中eden的容量
    EU:年轻代中eden已使用的容量
    YGC:程序启动到采样时年轻代中gc次数

jstat -gcnewcapacity pid:年轻代对象的信息及使用量
    NGCMN:年轻代中初始化的大小(kb)
    NGCMX:年轻代最大容量大小(kb)
    NGC:年轻代中当前的容量(kb)
    SOCMX:年轻代中第一个survivor区的最大容量(kb)
    SOC:年轻代中第一个survivor区的容量(kb)    
    S1CMX:年轻代中的第二个survivor区的最大容量(kb)
    S1C:年轻代中第二个survivor的容量(kb)
    ECMX:年轻代中eden的最大容量(kb)
    EC:年轻代中eden的容量(kb)
    YGC:程序启动到采样时年轻代中gc次数
    FGC:程序启动到采样时老年代gc次数

jstat -gcold pid:老年代对象信息
    MC:方法区的容量(kb)
    MU:方法区已使用的容量(kb)
    CCSC:压缩对象的空间
    CCSU:压缩对象已使用的空间
    OC:老年代的容量
    OU:老年代已使用的容量
    YGC:程序启动到采样时年轻代中gc次数
    FGC:程序启动到采样时老年代中gc次数
    FGCT:程序启动到采样时老年代gc所用时间(秒)
    GCT:程序启动到采样时gc用的总时长(秒)

jstat -gcoldcapacity:老年代对象的信息及占用比例
    OGCMN:老年代中初始化的大小(kb)
    OGCMX:老年代最大容量(kb)
    OGC:老年代当前新生成的容量(kb)
    OC:老年代的容量
    YGC:程序启动到采样时年轻代中gc次数
    FGC:程序启动到采样时老年代中gc次数
    FGCT:程序启动到采样时老年代所用gc时长(秒)
    GCT:程序启动到采样时gc用的总时长(秒)

jstat -gcmetacapacity pid:元数据空间统计
    MCMN:最小元数据容量
    MCMX:最大元数据容量
    MC:当前元数据空间大小
    CCSMN:最小压缩类空间大小
    CCSMX:最大压缩类空间大小
    CCSC:当前压缩类空间大小
    YGC:年轻代垃圾回收次数
    FGC:老年代垃圾回收次数
    FGCT:老年代垃圾回收消耗时间
    GCT:垃圾回收消耗总时间

jstat -printcompilation pid:当前vm执行信息
    Compiled:编译任务的数目
    Size:方法生成的kb码的大小
    Type:编译类型
    Method:类名和方法名


    

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值