Jvm之jstat工具查看gc活动

Jstat是什么

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

Jvm之jstat工具查看gc活动_第1张图片

使用Jstat查看GC活动

常用命令:jstat -gc -t

参数解释:-gc : 表示显示与垃圾收集相关的统计信息

-t : 显示时间戳(从JVM启动以来的)

: jvm进程Id

: 间隔多久统计一次(默认单位为ms)

:统计多少次结束

示例:jstat -gc -t 1 1000 5 表示对jvm进程Id为1的进程,每个1秒统计一次gc信息,统计5次结束

img

Jstat生成的数据列解释

Timestamp-自目标JVM启动时间以来的时间(以秒为单位)。

S0C –幸存者0区域的容量,以KB为单位

S1C –幸存者1区域的容量,以KB为单位

S0U –幸存者0区域使用的空间以KB为单位

S1U –幸存者1区域以KB为单位使用空间

EC –伊甸园区的容量(KB)

EU–伊甸园地区的已利用空间(以KB为单位)

OC –老年代区域容量(KB)

OU –老年代区域的已利用空间,以KB为单位

MC –元空间区域容量(KB)

MU –元空间区域以KB为单位的使用空间

CCSC –压缩类空间区域的容量,以KB为单位

CCSU –压缩类空间区域以KB为单位使用空间

YGC –迄今为止发生的年轻GC事件的数量

YGCT –到目前为止,年轻GC花费的时间

FGC –迄今为止已发生的完全GC事件的数量

FGCT –到目前为止已花费的完整GC时间

GCT –到目前为止所花费的GC时间总量(基本上是YGCT + FGCT)

如何解读Jstat生成的数据

例如:

Timestamp        S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC      MU      CCSC   CCSU       YGC   YGCT    FGC    FGCT     GCT   
 893677.6      1024.0  1024.0  320.0   0.0   28160.0   5606.3   142336.0   95712.6 115200.0 110769.0 13056.0 12220.6   1134   27.800   5     1.502   29.301
时间戳记 自JVM启动以来的时间(以秒为单位) = 893677.6秒
年轻一代的容量 青年一代由幸存者0,幸存者1,伊甸园区组成。因此,容量为: S0C + S1C + EC = 1024.0 + 1024.0 + 28160.0 = 30208 kb = 29.5 mb
年轻一代利用尺寸 S0U + S1U + EU = 320 + 0 + 5606.3 = 5926.3 kb = 5.78 mb
老一代容量 OC = 142336.0 kb = 139 mb
老一代利用尺寸 OU = 95712.6 kb = 93.47mb
元空间容量 MC = 115200.0 kb = 112.5 mb
元空间利用的大小 MU = 110769.0 kb = 108.17mb
年轻GC计数 YGC = 1134
Young GC**花费时间** YGCT = 27.800秒
FullGC计数 FGC = 5
FullGC花费时间 FGCT = 1.502秒
在GC中花费的总时间 GCT = 29.301秒

分析jstat输出的工具

像上面那样分析jstat的输出很不方便,太慢了,很多地方需要自己去换算单位去计算,为了方便分析可以使用gc分析工具:gceasy

Jvm之jstat工具查看gc活动_第2张图片

它可以对gc日志进行分析,也可以对jstat等jvm命令的输出进行分析,可选择上传文件也可以选择Raw,粘贴文本的方式进行分析,点击Analyze即可。

示例:我这里使用jstat生成30条记录。

# jstat -gc -t 1 1000 30
Timestamp        S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT   
       895690.6 1024.0 1024.0  0.0   400.0  28160.0   9256.9   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895691.6 1024.0 1024.0  0.0   400.0  28160.0   9586.5   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895692.6 1024.0 1024.0  0.0   400.0  28160.0   9586.5   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895693.6 1024.0 1024.0  0.0   400.0  28160.0   9586.5   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895694.6 1024.0 1024.0  0.0   400.0  28160.0   9586.5   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895695.6 1024.0 1024.0  0.0   400.0  28160.0   9589.2   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895696.6 1024.0 1024.0  0.0   400.0  28160.0   9929.3   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895697.6 1024.0 1024.0  0.0   400.0  28160.0   9929.3   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895698.6 1024.0 1024.0  0.0   400.0  28160.0   9929.3   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895699.6 1024.0 1024.0  0.0   400.0  28160.0   9929.3   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895700.6 1024.0 1024.0  0.0   400.0  28160.0   9929.3   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895701.6 1024.0 1024.0  0.0   400.0  28160.0  10218.9   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895702.6 1024.0 1024.0  0.0   400.0  28160.0  10218.9   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895703.6 1024.0 1024.0  0.0   400.0  28160.0  10218.9   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895704.6 1024.0 1024.0  0.0   400.0  28160.0  10218.9   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895705.6 1024.0 1024.0  0.0   400.0  28160.0  10222.7   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895706.6 1024.0 1024.0  0.0   400.0  28160.0  10558.6   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895707.6 1024.0 1024.0  0.0   400.0  28160.0  10558.6   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895708.6 1024.0 1024.0  0.0   400.0  28160.0  10558.6   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895709.6 1024.0 1024.0  0.0   400.0  28160.0  10560.7   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895710.6 1024.0 1024.0  0.0   400.0  28160.0  10560.7   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895711.6 1024.0 1024.0  0.0   400.0  28160.0  10939.2   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895712.6 1024.0 1024.0  0.0   400.0  28160.0  10945.4   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895713.6 1024.0 1024.0  0.0   400.0  28160.0  10947.4   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895714.6 1024.0 1024.0  0.0   400.0  28160.0  10949.5   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895715.6 1024.0 1024.0  0.0   400.0  28160.0  10949.5   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895716.6 1024.0 1024.0  0.0   400.0  28160.0  11315.8   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895717.6 1024.0 1024.0  0.0   400.0  28160.0  11317.9   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895718.6 1024.0 1024.0  0.0   400.0  28160.0  11317.9   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434
       895719.6 1024.0 1024.0  0.0   400.0  28160.0  11317.9   142336.0   95744.6   115200.0 110774.6 13056.0 12220.6   1139   27.932   5      1.502   29.434

然后将以上生成的数据复制到gceasy即可进行分析:

Jvm之jstat工具查看gc活动_第3张图片

生成报告点击查看

部分报告截图:

Jvm之jstat工具查看gc活动_第4张图片

Jvm之jstat工具查看gc活动_第5张图片

Jvm之jstat工具查看gc活动_第6张图片

Jvm之jstat工具查看gc活动_第7张图片

Jvm之jstat工具查看gc活动_第8张图片

可以看到将各个空间大小,使用率,吞吐率,gc情况等等都统计分析出来了。

这里分析出来的gc时间、吞吐量、空间占用等指标要达到多少才算合格呢?这个和实际的业务需求有很大关系,有的应用吞吐量需要97%以上,有的则95%就满足了。一般来说,吞吐量应该达到95%以上,gc平均时间为毫秒级,如果gc平均时间达到几秒肯定是不正常了,详细可以参考gceasy的关键性能指标

你可能感兴趣的:(Java)