使用jstat观察jvm状态

蚩尤后裔 2020-04-29

  • jstat -gc pid time

如:每3秒打印一次jvm使用情况

[ bin]# ./jstat -gc 17474 3s
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT   
2560.0 2560.0 1712.5  0.0   2790912.0 1661843.1 5592576.0   230780.6  136704.0 129435.4 15872.0 14462.4    412    5.087   0      0.000    5.087
2560.0 2560.0 1712.5  0.0   2790912.0 1669230.1 5592576.0   230780.6  136704.0 129435.4 15872.0 14462.4    412    5.087   0      0.000    5.087
2560.0 2560.0 1712.5  0.0   2790912.0 1689227.3 5592576.0   230780.6  136704.0 129435.4 15872.0 14462.4    412    5.087   0      0.000    5.087

各列的解释:

S0C: 年轻代中第一个存活区的总大小(KB)

S1C: 年轻代中第二个存活区的总大小(KB)

S0U: 年轻代中第一个存活区目前已使用大小(KB)

S1U: 年轻代中第三个存活区目前已使用大小(字节)

EC: 年轻代中Eden的总大小(KB)

EU: 年轻代中Eden目前已使用大小(KB)

OC: 老年代的总大小(KB)

OU: 老年代目前已使用大小(KB)

MC:  Metaspace的总大小(KB)

MU: Metaspace目前已使用大小(KB)

CCSC: 压缩类空间总大小(KB)

CCSU: 压缩空间目前已使用大小(KB)

YGC: 年轻代垃圾回收次数

YGCT: 年轻代垃圾回收所用总时间(秒)

FCG: 老年代发生垃圾回收次数

FCGT: 老年代发生垃圾回收所用总时间(秒)

GCT: 垃圾回收总耗时(秒)

  • jstat -gccapacity pid time (查看JVM内存分配情况)
[ bin]# ./jstat -gccapacity 17474 5s
 NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC 
2796032.0 2796032.0 2796032.0 2560.0 2560.0 2790912.0  5592576.0  5592576.0  5592576.0  5592576.0      0.0 1169408.0 136704.0      0.0 1048576.0  15872.0    429     0
2796032.0 2796032.0 2796032.0 2560.0 2560.0 2790912.0  5592576.0  5592576.0  5592576.0  5592576.0      0.0 1169408.0 136704.0      0.0 1048576.0  15872.0    429     0
2796032.0 2796032.0 2796032.0 2560.0 2560.0 2790912.0  5592576.0  5592576.0  5592576.0  5592576.0      0.0 1169408.0 136704.0      0.0 1048576.0  15872.0    429     0
2796032.0 2796032.0 2796032.0 2560.0 2560.0 2790912.0  5592576.0  5592576.0  5592576.0  5592576.0      0.0 1169408.0 136704.0      0.0 1048576.0  15872.0    429     0

各列解释:

NGCMN:  年轻代初始化(最小)的大小(KB)

NGCMX:  年轻代的最大容量(KB)

NGC: 年轻代中当前容量(KB)

S0C: 年轻代中第一个幸存区的容量(KB)

S1C: 年轻代中第三个幸存区的容量(KB)

EC: 年轻代中Eden区的容量(KB)

OGCMN: 老年代中初始化容量大小(KB)

OGCMX: 老年代中最大容量(KB)

OGC: 老年代当前容量大小(KB)

MCMN: metaspace初始化容量(KB)

MCMX: metaspace最大容量大小(KB)

MC: metaspace当前容量大小(KB)

  • jstat -gcutil pid time (查看当前JVM内存占用百分比)
[ bin]# ./jstat -gcutil 17474 5s
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   
 61.88   0.00  72.14   4.20  94.73  91.12    434    5.326     0    0.000    5.326
 61.88   0.00  73.49   4.20  94.73  91.12    434    5.326     0    0.000    5.326
 61.88   0.00  74.73   4.20  94.73  91.12    434    5.326     0    0.000    5.326
 61.88   0.00  75.69   4.20  94.73  91.12    434    5.326     0    0.000    5.326
 61.88   0.00  77.52   4.20  94.73  91.12    434    5.326     0    0.000    5.326
 61.88   0.00  78.85   4.20  94.73  91.12    434    5.326     0    0.000    5.326

各列解释:

S0: 年轻代中第一个幸存区已使用量占当前容量的百分比

S1: 年轻代中第二个幸存区已使用量占当前容量的百分比

E: 年轻代中Eden区已使用量占当前容量的百分比

O: 老年代已使用量占当前容量的百分比

M: metaspace已使用量点当前容量的百分比

  • jstat -gcnew pid time (年轻代对象的信息)
[ bin]# ./jstat -gcnew 17474 3s
 S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT  
2560.0 2560.0    0.0 2234.5  1  15 2560.0 2790912.0 1544776.3    435    5.339
2560.0 2560.0    0.0 2234.5  1  15 2560.0 2790912.0 1548682.9    435    5.339
2560.0 2560.0    0.0 2234.5  1  15 2560.0 2790912.0 1569876.3    435    5.339
2560.0 2560.0    0.0 2234.5  1  15 2560.0 2790912.0 1592029.9    435    5.339

 来源:http://www.totozhan.com/

相关推荐