java-jdk自带监测工具(jstat)

背景

之前看过了jps,现在我们来看下jstat。

概要

jstat(Java Virtual Machine statistics monitoring tool),虚拟机统计监控工具。一看就是用于监控的,可以用于服务性能优化。
jstat可以检测多项虚拟机指标

  • 类加载器(-class)

实战演示

-class:类加载器相关信息

jstat -class -t -h3 55912 1000 100

  • -class,类型参数
  • -t,显示时间
  • -h3,每n次打印一次title
  • 55912,进程id
  • 1000(ms),每1000ms打印一次
  • 100,共打印多少次(不写的话就是一直打印下去)

参数大多可选,这里不赘述,尝试一下即可。
在这里插入图片描述

  • timestamp,-t的输出结果
  • loaded,已加载的类数量(真多。。很多都是动态代理的)
  • bytes,已加载的类总大小
  • unloaded,已卸载的类数量(多态代理的情况下,是可以卸载类的)
  • bytes,已卸载的类总大小
  • time,classLoader操作类的总耗时

-compiler:显示JIT(Just-In-Time Compiler即时编译器)的相关信息

jstat -compiler -t -h3 55912 1000 100
命令解析同-class

在这里插入图片描述

  • compiled,已编译的类(我们看到,已经编译的类和已经加载的类并不相同,但数量差距不大。 可能是懒加载行为的体现)
  • failed,???
  • time,耗时
  • failedType,???
  • failedMethod,???

-gc:与gc先关的堆信息

jstat -gc -t -h3 55912 1000 100

在这里插入图片描述

  • S01,S1C,S0U,S1U from,to的大小和已用量大小(KB)
  • EC,EU eden的大小和已用量
  • OC,OU 老边代的大小和已用量
  • MC,MU 永久区大小和已用量
  • CCSC,CCSU 压缩类空间大小和已用量
  • YGC,YGCT: 新生代GC次数和耗时
  • FGC,FGCT: Full GC次数和耗时
  • GCT GC总耗时

我这个例子的fullgc 和 ygct的耗时差不多,都是2s左右。不过一般情况下fgct会更大。

-gccapacity:统计不同分代的容量信息

jstat -gccapacity -t -h3 55912 1000 100

在这里插入图片描述

  • NGCMN,分解开来就NG_C_MN(new generation capacity minimum),新生代最小容量
  • NGCMX,最大容量
  • NGC,当前容量
  • S0C,S1C等都同上
  • MC,分解为meta cap
  • CCS,压缩
  • YGC,FGC 数量

-gccause(同于gcutil):查看gc原因以及各个分代的百分信息

jstat -gccapacity -t -h3 55912 1000 100
在这里插入图片描述

  • S0 :年轻代中第一个survivor(幸存区)已使用的占当前容量百分比
  • S1 :年轻代中第二个survivor(幸存区)已使用的占当前容量百分比
  • E :年轻代中Eden(伊甸园)已使用的占当前容量百分比
  • O :old代已使用的占当前容量百分比
  • M :元空间已使用的占当前容量百分比
  • CCS: 压缩
  • YGC :从应用程序启动到采样时年轻代中gc次数
  • YGCT :从应用程序启动到采样时年轻代中gc所用时间(s)
  • FGC :从应用程序启动到采样时old代(全gc)gc次数
  • FGCT :从应用程序启动到采样时old代(全gc)gc所用时间(s)
  • GCT:从应用程序启动到采样时gc用的总时间(s)
  • LGCC:最后一次GC原因
  • GCC:当前GC原因(No GC 为当前没有执行GC)

-printcompilation:HotSpot编译方法统计。HotSpot compilation method statistics(这个不太理解)

jstat -printcompilation -t -h3 55912 1000 100
在这里插入图片描述

自评价

jstat的参数不少,但是核心也就那些信息,新生代、老年代、元空间等信息的gc情况和空间使用情况等。
如果服务器频繁出现gc,需要使用这个命令看相关的信息,估计到时候还得查man去。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值