jvm自带故障处理工具之jstat

jstat主要是用来监控虚拟机各种运行状态信息的一种工具,通过jstat命令主要可以用来观察虚拟机在运行时垃圾收集状况,以及类加载和编译状况。

命令格式为:jstat [ generalOption | outputOptions vmid [interval[s|ms] [count]] ]

下面我们通过几个演示案例,看一下具体的使用方式,环境声明:JDK1.8,使用-XX:+UseSerialGC垃圾回收器

常用的命令:jstat -gc pid interval[ms] count

示例

jvm自带故障处理工具之jstat
每一列含义解释

S0C:Survivor0区容量
S1C:Survivor1区容量
S0U:Survivor0区已使用容量
S1U:Survivor1区已使用容量
EC:Eden区容量
EU:Eden已使用容量
OC:老年代容量
OU:老年代已使用容量
MC:元空间容量
MU:元空间已使用容量
CCSC:压缩类容量
CCSU:压缩类已使用容量
YGC:新生代垃圾回收次数
YGCT:新生代垃圾回收耗时
FGC:FullGC发生次数
FGCT:FullGC耗时
GCT:总GC耗时

有时候还可以使用:jstat -gcutil pid interval[ms] count,查看使用比例。

示例

jvm自带故障处理工具之jstat
S0:Survivor0区使用百分比
S1:Survivor1区使用百分比
E:Eden区使用百分比
O:老年代使用百分比
M:元空间使用百分比

下面总结了一些常规命令以供参考

class:显示有关类加载器行为的统计信息。

compiler:显示有关Java HotSpot VM即时编译器行为的统计信息。

gc:显示有关垃圾收集堆行为的统计信息。

gccapacity:显示有关各个分代的容量及其对应空间的统计信息。

gccause:显示有关垃圾收集统计信息的摘要(与相同-gcutil),以及上一次垃圾收集事件的原因。

gcnew:显示新生代垃圾收集的统计信息。

gcnewcapacity:显示有关新生代大小及其相应空间的统计信息。

gcold:显示有关老年代行为的统计信息和元空间统计信息。

gcoldcapacity:显示有关老年代的大小的统计信息。

gcmetacapacity:显示有关元空间大小的统计信息。

gcutil:显示有关垃圾收集统计信息的摘要。

printcompilation:显示Java HotSpot VM编译方法统计信息。