JVM工具之jstat

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 有哪些选择项

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

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

jstat -options

[CBB@localhost ~]$ jstat -options
-class
-compiler
-gc
-gccapacity
-gccause
-gcmetacapacity
-gcnew
-gcnewcapacity
-gcold
-gcoldcapacity
-gcutil
-printcompilation
 

jstat -class 加载类统计

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

jstat -compiler 编译统计

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

jstat -gc 垃圾回收统计

[root@localhost ~]# jstat -gc 18750
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT
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 垃圾回收器内存空间统计

[root@localhost ~]# jstat -gccapacity 18750
 NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC
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 垃圾回收器分析统计

[root@localhost ~]# jstat -gccause 18750 1000
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC
 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 元数据内存空间统计

[root@localhost ~]# jstat -gcmetacapacity 18750 1000
   MCMN       MCMX        MC       CCSMN      CCSMX       CCSC     YGC   FGC    FGCT     GCT
       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 新生代垃圾回收统计

[root@localhost ~]# jstat -gcnew 18750
 S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT
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 新生代内存空间统计

[root@localhost ~]# jstat -gcnewcapacity 18750
  NGCMN      NGCMX       NGC      S0CMX     S0C     S1CMX     S1C       ECMX        EC      YGC   FGC
  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 老年代垃圾回收统计

[root@localhost ~]# jstat -gcold 18750
   MC       MU      CCSC     CCSU       OC          OU       YGC    FGC    FGCT     GCT
 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 老年代内存空间统计

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

jstat -gcutil 总垃圾回收统计

[root@localhost ~]# jstat -gcutil 18750 1000
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT
 67.70   0.00  55.58   9.30  96.05  93.95      4    1.343     4    0.325    1.668
 67.70   0.00  55.58   9.30  96.05  93.95      4    1.343     4    0.325    1.668
 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编译方法统计

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

  • 3
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值