当前位置:   article > 正文

JVM工具之jstat_jstat -gc

jstat -gc
JVM工具之jstat查询GC统计信息分析

JVM工具之jstat查询GC统计信息分析jstat基本使用语法jstat -class 加载类统计jstat -compiler 编译统计jstat -gc 垃圾回收统计jstat -gccapacity 垃圾回收器内存空间统计jstat -gccause 垃圾回收器分析统计jstat -gcmetacapacity 元数据内存空间统计jstat -gcnew 新生代垃圾回收统计jstat -gcnewcapacity 新生代内存空间统计jstat -gcold 老年代垃圾回收统计jstat -gcoldcapacity 老年代内存空间统计jstat -gcutil 总垃圾回收统计jstat -printcompilation JVM编译方法统计

注意:在linux中,使用jdk1.8版本为例

jstat工具,检查JVM的整体运行情况,比较实用工具之一,当我们想看JVM内的Eden、survivor、年轻代、老年代以及年轻代垃圾回收次数、老年代垃圾回收次数、年轻代垃圾回收消耗时间、老年代垃圾回收消耗时间情况

jstat基本使用语法

基本使用语法:jstat -<options> PID <interval> <count>

<options>:表示jstat的选择项 
PID:表示进程号
<interval>:表示整数型间隔时间(ms 或者m) 默认是毫秒级别
<count>:表示在间隔时间中打印次数

除此之外,可以用jstat -help 查看,还可使用jstat -options 查看,jstat 有哪些选择项

  1. [CBB@localhost ~]$ jstat -help
  2. Usage: jstat -help|-options
  3.       jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

我们可以使用jps 来查询本地的进程号信息

jstat -options

  1. [CBB@localhost ~]$ jstat -options
  2. -class
  3. -compiler
  4. -gc
  5. -gccapacity
  6. -gccause
  7. -gcmetacapacity
  8. -gcnew
  9. -gcnewcapacity
  10. -gcold
  11. -gcoldcapacity
  12. -gcutil
  13. -printcompilation
 

jstat -class 加载类统计

  1. [root@localhost ~]# jstat -class 18750
  2. Loaded Bytes Unloaded Bytes     Time
  3.  8859 16638.3        0     0.0      19.99
字段名称表示含义
Loaded加载class类的数量
Bytes所占内存空间
Unloaded未加载类的数量
Bytes未加载类内存空间
Time消耗时间

jstat -compiler 编译统计

  1. [root@localhost ~]# jstat -compiler 18750
  2. Compiled Failed Invalid   Time   FailedType FailedMethod
  3.    4760      0       0    28.94          0
字段名称表示含义
Compiler编译成功数量
Failed编译失败数量
Invalid编译无效数量
Time编译耗时
FailedType编译失败的类型
FailedMethod编译失败的方法

jstat -gc 垃圾回收统计

  1. [root@localhost ~]# jstat -gc 18750
  2. S0C   S1C   S0U   S1U     EC       EU       OC         OU       MC     MU   CCSC   CCSU   YGC     YGCT   FGC   FGCT     GCT
  3. 26176.0 26176.0 17720.1  0.0   209792.0 115200.9  262144.0   24367.5   49880.0 47907.7 6188.0 5813.7      4    1.343   4      0.325    1.668
字段名称表示含义
S0C幸存区1容量(单位:字节)
S1C幸存区2容量(单位:字节)
S0U幸存区1使用容量(单位:字节)
S1U幸存区2使用容量(单位:字节)
EC伊甸园区容量(单位:字节)
EU伊甸园区使用容量(单位:字节)
OC老年区容量(单位:字节)
OU老年区使用容量(单位:字节)
MC方法区容量(单位:字节)
MU方法区使用容量(单位:字节)
CCSC压缩类空间容量(单位:字节)
CCSU压缩类空间使用容量(单位:字节)
YGC年轻代垃圾回收次数
YGCT年轻代垃圾回收消耗时间
FGC老年代垃圾回收次数
FGCT老年代垃圾回收消耗时间(单位:秒)
GCT垃圾回收器总耗时时间(单位:秒)

jstat -gccapacity 垃圾回收器内存空间统计

  1. [root@localhost ~]# jstat -gccapacity 18750
  2. NGCMN   NGCMX     NGC     S0C   S1C       EC     OGCMN     OGCMX       OGC         OC       MCMN     MCMX     MC     CCSMN   CCSMX     CCSC   YGC   FGC
  3. 262144.0 262144.0 262144.0 26176.0 26176.0 209792.0   262144.0   262144.0   262144.0   262144.0      0.0 1093632.0  49880.0      0.0 1048576.0   6188.0      4     4
字段名称表示含义
NGCMN年轻代gc最小容量(单位:字节)
NGCMX年轻代gc最大容量(单位:字节)
NGC当前年轻代容量(单位:字节)
S0C幸存区0容量(单位:字节)
S1C幸存区1容量(单位:字节)
EC伊甸园容量(单位:字节)
OGCMN老年代gc最小容量(单位:字节)
OGCMX老年代gc最大容量(单位:字节)
OGC当前老年代gc容量(单位:字节)
OC当前老年代容量(单位:字节)
MCMN元数据最小容量(单位:字节)
MCMX元数据最大容量(单位:字节)
MC当前元数据使用容量(单位:字节)
CCSMN压缩类最小容量(单位:字节)
CCSMX压缩类最大容量(单位:字节)
CCSC当前压缩类容量(单位:字节)
YGC从应用程序启动到现在,年轻代垃圾回收次数
FGC从应用程序启动到现在,老年代垃圾回收次数

jstat -gccause 垃圾回收器分析统计

  1. [root@localhost ~]# jstat -gccause 18750 1000
  2. S0     S1     E     O     M     CCS   YGC     YGCT   FGC   FGCT     GCT   LGCC                 GCC
  3. 67.70   0.00  55.25   9.30  96.05  93.95      4    1.343     4    0.325    1.668 CMS Final Remark     No GC
字段名称表示含义
S0幸存区1使用百分比
S1幸存区2使用百分比
E伊甸园区使用百分比
O老年代使用百分比
M元数据使用百分比
CCS压缩类使用百分比
YGC从应用程序启动到现在,年轻代垃圾回收次数
YGCT从应用程序启动到现在,年轻代垃圾回收消耗时间(单位:秒)
FGC从应用程序启动到现在,老年代垃圾回收次数
FGCT从应用程序启动到现在,老年代垃圾回收消耗时间(单位:秒)
GCT从应用程序启动到现在,垃圾回收器总消耗时间(单位:秒)
LGCT
GCC

jstat -gcmetacapacity 元数据内存空间统计

  1. [root@localhost ~]# jstat -gcmetacapacity 18750 1000
  2.   MCMN       MCMX       MC       CCSMN     CCSMX       CCSC     YGC   FGC   FGCT     GCT
  3.       0.0  1093632.0    49880.0        0.0  1048576.0     6188.0     4     4    0.325    1.668
字段名称表示含义
MCMN元数据最小容量(单位:字节)
MCMX元数据最大容量(单位:字节)
MC当前元数据容量大小(单位:字节)
CCSMN压缩类最小空间容量(单位:字节)
CCSMX压缩类最大空间容量(单位:字节)
CCSC当前压缩类容量大小(单位:字节)
YGC从应用程序启动到现在,年轻代垃圾回收次数
FGC从应用程序启动到现在,老年代垃圾回收次数
FGCT从应用程序启动到现在,老年代垃圾回收消耗时间(单位:秒)
GCT从应用程序启动到现在,垃圾回收总消耗时间(单位:秒)

jstat -gcnew 新生代垃圾回收统计

  1. [root@localhost ~]# jstat -gcnew 18750
  2. S0C   S1C   S0U   S1U   TT MTT DSS     EC       EU     YGC     YGCT
  3. 26176.0 26176.0 17720.1    0.0  6   6 13088.0 209792.0 115900.6      4    1.343
字段名称表示含义
S0C幸存区1容量(单位:字节)
S1C幸存区2容量(单位:字节)
S0U幸存区1使用容量(单位:字节)
S1U幸存区2使用容量(单位:字节)
TT对象在年轻代存活的次数
MTT对象在年轻代存货的最大次数
DSS指望的幸存区容量(单位:字节)
EC伊甸园容量(单位:字节)
EU伊甸园使用容量(单位:字节)
YGC从应用程序启动到现在,年轻代垃圾回收次数
YGCT从应用程序启动到现在,年轻代垃圾回收消耗时间(单位:秒)

jstat -gcnewcapacity 新生代内存空间统计

  1. [root@localhost ~]# jstat -gcnewcapacity 18750
  2. NGCMN     NGCMX       NGC     S0CMX     S0C     S1CMX     S1C       ECMX       EC     YGC   FGC
  3.  262144.0   262144.0   262144.0  26176.0  26176.0  26176.0  26176.0   209792.0   209792.0     4     4
字段名称表示含义
NGCMN年轻代最小容量(单位:字节)
NGCMX年轻代最大容量(单位:字节)
NGC当前年轻代容量大小(单位:字节)
S0CMX幸存区1最大容量(单位:字节)
S1CMX幸存区2最大容量(单位:字节)
S1C当前幸存区2容量大小(单位:字节)
ECMX伊甸园最大的容量(单位:字节)
EC当前伊甸园容量(单位:字节)
YGC从应用程序启动到现在,年轻代垃圾回收次数
FGC从应用程序启动到现在,老年代垃圾回收次数

jstat -gcold 老年代垃圾回收统计

  1. [root@localhost ~]# jstat -gcold 18750
  2.   MC       MU     CCSC     CCSU       OC         OU       YGC   FGC   FGCT     GCT
  3. 49880.0  47907.7   6188.0   5813.7    262144.0     24367.5      4     4    0.325    1.668
字段名称表示含义
MC方法区空间容量(单位:字节)
MU方法区使用容量(单位:字节)
CCSC压缩类空间容量(单位:字节)
CCSU压缩类空间使用容量(单位:字节)
OC老年代空间容量(单位:字节)
OU老年代使用容量(单位:字节)
YGC从应用程序启动到现在,年轻代垃圾回收次数
FGC从应用程序启动到现在,老年代垃圾回收次数
FGCT从应用程序启动到现在,老年代垃圾回收消耗时间(单位:秒)
GCT从应用程序启动到现在,垃圾回收器总消耗时间(单位:秒)

jstat -gcoldcapacity 老年代内存空间统计

  1. [root@localhost ~]# jstat -gcoldcapacity 18750
  2.   OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT
  3.   262144.0    262144.0    262144.0    262144.0     4     4    0.325    1.668
字段名称表示含义
OGCMN老年代垃圾回收最小容量(单位:字节)
OGCMX老年代垃圾回收最大容量(单位:字节)
OGC当前老年代空间容量(单位:字节)
OC老年代容量(单位:字节)
YGC从应用程序启动到现在,年轻代垃圾回收次数
FGC从应用程序启动到现在,老年代垃圾回收次数
FCGT从应用程序启动到现在,老年代垃圾回收消耗时间(单位:秒)
GCT从应用程序启动到现在,垃圾回收器总消耗时间(单位:秒)

jstat -gcutil 总垃圾回收统计

  1. [root@localhost ~]# jstat -gcutil 18750 1000
  2. S0     S1     E     O     M     CCS   YGC     YGCT   FGC   FGCT     GCT
  3. 67.70   0.00  55.58   9.30  96.05  93.95      4    1.343     4    0.325    1.668
  4. 67.70   0.00  55.58   9.30  96.05  93.95      4    1.343     4    0.325    1.668
  5. 67.70   0.00  55.58   9.30  96.05  93.95      4    1.343     4    0.325    1.668
字段名称表示含义
S0幸存区1使用百分比
S1幸存区2使用百分比
E伊甸园使用百分比
O老年区使用百分比
M元数据使用百分比
CCS压缩类使用百分比
YGC年轻代垃圾回收次数
YGCT从应用程序启动到现在,年轻代gc消耗时间(单位:秒)
FGC从应用程序启动到现在,老年代垃圾回收次数
FGCT从应用程序启动到现在,老年代垃圾回收消耗时间(单位:秒)
GCT从应用程序启动到现在,垃圾回收器总消耗时间(单位:秒)

jstat -printcompilation JVM编译方法统计

  1. [root@localhost ~]# jstat -printcompilation 18750
  2. Compiled Size Type Method
  3.    4821    160    1 java/util/BitSet nextSetBit
字段名称表示含义
Compiled最近方法编译的数量
Size最近方法编译字节码的数量
Type最近方法编译类型
Method方法名标识

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/445465
推荐阅读
相关标签
  

闽ICP备14008679号