[JVM】jstat命令详解---JVM的统计监测工具:jstat 堆内存各部分的使用量,以及加载类的数量。

参考文档:https://www.cnblogs.com/sxdcgaq8080/p/11089841.html

一.jstat命令简介

  jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。

     【以下的统计空间单位,未标明的  都是KB】

       注意!!!:使用的jdk版本是jdk8.

  命令的格式如下:

    jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]

           

二.命令使用详情列表

 

1.总结垃圾回收统计

 命令:jstat -gcutil 【pid】

示例:jstat -gcutil 17209

 结果:

 

 解析:

S0:幸存1区当前使用比例
S1:幸存2区当前使用比例
E:伊甸园区使用比例
O:老年代使用比例
M:元数据区使用比例
CCS:压缩使用比例
YGC:年轻代垃圾回收次数
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间

命令:jstat -gcutil 12809 1000 :查看进程12809的gc 情况,每1000ms 打印一次

 

2.Java 垃圾回收统计(各个区的容量、使用容量、gc 时间等信息)

命令格式:  jstat -gc [pid]

示例:jstat -gc 17209

结果:

命令格式: jstat -gc [pid]  t1 c1 

示例:jstat -gc 17209 500 10

命令解析:每 500 毫秒打印一次进程号为  17209 的Java 进程的堆状况(各个区的容量、使用容量、gc 时间等信息),打印 10 次。

 解析:

  • S0C:第一个幸存区的大小
  • S1C:第二个幸存区的大小
  • S0U:第一个幸存区的使用大小
  • S1U:第二个幸存区的使用大小
  • EC:伊甸园区的大小
  • EU:伊甸园区的使用大小
  • OC:老年代大小
  • OU:老年代使用大小
  • MC:方法区大小
  • MU:方法区使用大小
  • CCSC:压缩类空间大小
  • CCSU:压缩类空间使用大小
  • YGC:年轻代垃圾回收次数
  • YGCT:年轻代垃圾回收消耗时间
  • FGC:老年代垃圾回收次数
  • FGCT:老年代垃圾回收消耗时间
  • GCT:垃圾回收消耗总时间

3.堆内存统计

命令:jstat -gccapacity 【pid】

示例:jstat -gccapacity 17209

结果:

 

解析:

NGCMN:新生代最小容量
NGCMX:新生代最大容量
NGC:当前新生代容量
S0C:第一个幸存区大小
S1C:第二个幸存区的大小
EC:伊甸园区的大小
OGCMN:老年代最小容量
OGCMX:老年代最大容量
OGC:当前老年代大小
OC:当前老年代大小
MCMN:最小元数据容量
MCMX:最大元数据容量
MC:当前元数据空间大小
CCSMN:最小压缩类空间大小
CCSMX:最大压缩类空间大小
CCSC:当前压缩类空间大小
YGC:年轻代gc次数
FGC:老年代GC次数

  

jstat 还可以以其他角度监视各区内存大小、监视类装载信息等,具体可以 google jstat 的详细用法。

其他命令参考

1. 类加载统计

jstat -class 【pid】

示例:jstat -class 17209

结果:

解析:

 Loaded:加载class的数量
Bytes:所占用空间大小
Unloaded:未加载数量
Bytes:未加载占用空间
Time:时间

2. 编译统计

jstat -compiler【pid】

示例:jstat -compiler 17209

结果:

解析:

Compiled:编译数量。
Failed:失败数量
Invalid:不可用数量
Time:时间
FailedType:失败类型
FailedMethod:失败的方法

3.新生代垃圾回收统计

jstat -gcnew 【pid】

示例:jstat -gcnew 17209

结果:

解析:

S0C:第一个幸存区大小
S1C:第二个幸存区的大小
S0U:第一个幸存区的使用大小
S1U:第二个幸存区的使用大小
TT:对象在新生代存活的次数
MTT:对象在新生代存活的最大次数
DSS:期望的幸存区大小
EC:伊甸园区的大小
EU:伊甸园区的使用大小
YGC:年轻代垃圾回收次数
YGCT:年轻代垃圾回收消耗时间

4.新生代内存统计

 

jstat -gcnew 【pid】

示例:jstat -gcnew 17209

结果:

 解析:

NGCMN:新生代最小容量
NGCMX:新生代最大容量
NGC:当前新生代容量
S0CMX:最大幸存1区大小
S0C:当前幸存1区大小
S1CMX:最大幸存2区大小
S1C:当前幸存2区大小
ECMX:最大伊甸园区大小
EC:当前伊甸园区大小
YGC:年轻代垃圾回收次数
FGC:老年代回收次数

5.老年代垃圾回收统计

jstat -gcold 【pid】

示例:jstat -gcold 17209

结果:

 解析:

MC:方法区大小
MU:方法区使用大小
CCSC:压缩类空间大小
CCSU:压缩类空间使用大小
OC:老年代大小
OU:老年代使用大小
YGC:年轻代垃圾回收次数
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间

 

6.老年代内存统计

jstat -gcoldcapacity  【pid】

示例:jstat -gcoldcapacity 17209

结果:

解析:

OGCMN:老年代最小容量
OGCMX:老年代最大容量
OGC:当前老年代大小
OC:老年代大小
YGC:年轻代垃圾回收次数
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间

  

https://www.cnblogs.com/sxdcgaq8080/p/11089841.html

原文地址:https://www.cnblogs.com/shay/p/13223565.html