前言

jstat(JVM Statistics Monitoring Tool)用于监控虚拟机各种运行状态信息。
显示类加载、内存、垃圾收集、JIT编译等运行数据。

命令格式

  1. jstat [option vmid [interval][s|ms] [count] ]
  2. interval 是查询间隔和次数,默认是只查询一次

Option选项

选项 作用
-class 监视类装载、卸载数量、总空间及所耗时间
-gc 监视Java堆情况,包括Eden区、两个survivor区、老年代、永久代等容量、已用空间、GC时间合计等信息
-gcutil 监视同GC,输出主要关注已使用空间占总空间的百分比

命令有很多,重点关注下gcutil的用法。

  1. jstat -gcutil 11605
  2. S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
  3. 0.00 0.00 99.14 18.65 97.85 94.92 17 0.121 4 0.306 0.426

说明:
E 表示Eden,使用了99.14%的空间
S0 S1 是2个Survivor区,S0 是Survivor0,里面空的;S1 是Survivor1,里面空的;
0 表示Old,老年代,使用18.65%
M 表示 元数据区使用比例,使用了97.85%
CCS:压缩使用比例 Compressed Class Space Capacity - Current
YGC 表示Yong GC,即程序运行以来,发生的Minor GC,一共17次
YGCCT 表示Yong GC的总耗时0.121秒
FGC 表示Full GC,程序发生的Full GC,一共4次
FGCCT 表示Full GC的总耗时0.306秒
GCT 表示GC time,所有GC的总耗时0.426

参考