Java -- JVM 监控工具 -- jstat

版本

# java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode

命令语法

jstat [ generalOption | outputOptions vmid [ interval[s|ms] [ count ] ]

generalOption :  -help or -options

outputOptions :  一个单独的statOption ,后面还可以接 -t,-h,-J

vmid : 虚拟机标志,用法为  [protocol:][//]lvmid[@hostname[:port]/servername] ,详细可查看官方文档。

interval [s|ms] : 采样间隔,默认单位为ms,可指定单位s或ms。

count :  采样次数

 

outputOptions 主要内容是statOption ,主要功能如下:

class: 显示类加载器行为的统计

compiler: java HotSpt虚拟机JIT编译器行为的统计

gc: gc回收堆行为的统计

gccapacity: 各种代和相应的空间的容量统计

gccause: gc回收统计,同 gcutil ,额外增加了两列,上次和当前gc的原因。

gcnew: 新生代行为的统计

gcnewcapacity: 新生代及其空间的大小统计

gcold: 老年代和元空间的行为的统计

gcoldcapacity: 老年代大小的统计

gcmetacapacity: 元空间大小的统计

gcutil: gc统计概要

printcompilation: JVM编译方法统计

 

outputOptions 还有另外三个:

-h n :n次采样打印列头,n默认为0,即第一行才打印列头。

-t : 每行前面打印时间戳。

-JjavaOption :比如 -J-Xms48m。

 

statOption 用法如下:

gcutil  gc统计概要

jstat -gcutil PID INTERVAL COUNT
    S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT      GCT   
 11.86   0.00  55.43   2.42  93.52  89.92     18    0.303     2    0.210    0.513

 gcutil GC原因

# 与 -gcutil 内容一样,但增加了两列,上次和当前的GC原因 #
jstat -gccause 19742 3000 1000
    S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC                 
 78.14   0.00  85.17   4.01  94.74  92.81     74    0.765     2    0.210    0.976   Allocation Failure   No GC  

LGCC -- Cause of last garbage collection
GCC -- Cause of current garbage collection

gc GC堆统计

jstat -gc PID INTERVAL COUNT
    S0C     S1C    S0U  S1U         EC       EU        OC       OU       MC      MU    CCSC   CCSU   YGC     YGCT  FGC   FGCT    GCT   
11776.0 11776.0 9186.3  0.0  1025024.0 349845.1 2097152.0  88782.7  45144.0 42730.5  7256.0 6827.8     82   0.829    2  0.210  1.039

S0C -- 当前S0容量
S1C -- 当前S1容量
S0U -- S0使用量
S1U -- S1使用量
EC -- 当前E区容量
EU -- E区使用
OC -- 当前老年空间容量
OU -- 老年空间使用
MC -- 元空间容量
MU -- 元空间使用 
CCSC -- 压缩类空间容量
CCSU -- 压缩类空间已使用

gcmetacapacity  M区大小统计

jstat -gcmetacapacity PID INTERVAL COUNT
   MCMN       MCMX        MC       CCSMN      CCSMX       CCSC     YGC   FGC    FGCT     GCT   
    0.0  1081344.0    37208.0        0.0  1048576.0     4696.0      20     2    0.210    0.528

MCMN -- 元空间最小容量(KB)
MCMX -- 元空间最大容量(KB)
MC   -- 元空间容量(KB)
CCSMN -- 压缩类空间最小容量(KB)
CCSMX -- 压缩类空间最大容量(KB)
CCSC  -- 压缩类空间容量(KB)
YGC,FGC,FGCT,GCT -- 这四个和-gcutil的最后四项是一致的。

gcoldcapacity 老年代大小统计

jstat -gcoldcapacity PID INTERVAL COUNT
    OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT   
2097152.0   2097152.0   2097152.0   2097152.0      22     2    0.210    0.544

OGCMN -- 老年代最小容量(KB)
OGCMX -- 老年代最大容量(KB)
OGC   -- 当前老年代容量(KB) Current old generation capacity (kB)
OC    -- 当前老空间容量(KB) Current old space capacity (kB).

gcold 老年代和元空间行为统

jstat -gcold PID INTERVAL COUNT
    MC       MU      CCSC     CCSU       OC          OU       YGC    FGC    FGCT     GCT   
37976.0  35620.3   4952.0   4453.2   2097152.0     51094.6     26     2    0.210    0.578

MC  -- 元空间容量 KB
MU  -- 元空间已用 KB
CCSC  -- 压缩类空间容量 KB
CCSU  -- 压缩类空间已用 KB
OC  -- 当前老空间容量 KB
OU  -- 老空间已用 KB

gcnewcapacity 新生代空间大小统计

jstat -gcnewcapacity PID INTERVAL COUNT
   NGCMN      NGCMX       NGC      S0CMX     S0C     S1CMX     S1C       ECMX        EC      YGC   FGC 
1048576.0  1048576.0  1048576.0 349184.0  37376.0 349184.0  39424.0  1047552.0   967168.0    29     2

NGCMN  -- 新生代最小容量 KB
NGCMX  -- 新生代最大容量 KB
NGC  -- 当前新生代容量 KB
S0CMX  -- S0最大容量 KB
S0C  -- S0当前容量 KB
S1CMX  -- S1最大容量 KB
S1C  -- S1当前容量 KB
ECMX  -- E区最大容量 KB
EC  -- E区当前容量 KB

gcnew 新生代统计

jstat -gcnew PID INTERVAL COUNT
    S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU        YGC     YGCT  
31232.0 32768.0    0.0 10210.9 15  15 31232.0 981504.0 801429.1     33    0.425

S0C  -- S0区当前容量 KB
S1C  -- S1区当前容量 KB
S0U  -- S0区使用量 KB
S1U  -- S1区使用量 KB
TT   -- Tenuring Threshold 任期阈值 (单位?)
MTT  -- Maximum tenuring threshold
DSS  -- 期望的S区大小  Desired survivor size (kB)
EC   -- 当前E区空间容量 KB
EU   -- E区空间已用 KB 

gccapacity 内存池生成和空间容量

jstat -gccapacity PID INTERVAL COUNT
    NGCMN     NGCMX       NGC     S0C     S1C       EC      OGCMN      OGCMX        OGC         OC   MCMN      MCMX   MC      CCSMN     CCSMX    CCSC    YGC    FGC 
1048576.0 1048576.0 1048576.0 12288.0 12288.0 1024000.0  2097152.0  2097152.0  2097152.0  2097152.0  0.0  1087488.0  44376.0    0.0 1048576.0  7000.0     75      2

NGCMN -- 新生代最小容量 KB
NGCMX -- 新生代最大容量 KB
NGC -- 当前新生代容量 KB
S0C -- 当前S0区容量 KB
S1C -- 当前S1区容量 KB
EC -- 当前E区容量 KB
OGCMN -- 老年代最小容量 KB
OGCMX -- 老年代最大容量 KB
OGC -- 老年代当前容量 KB
OC -- 老年空间当前容量 KB
MCMN -- 元空间最小容量 KB
MCMX -- 元空间最大容量 KB
MC -- 元空间容量 KB
CCSMN -- 压缩类空间最小容量 KB
CCSMX -- 压缩类空间最大容量 KB
CCSC -- 压缩类空间容量 KB

compiler 

jstat -compiler 19742 3000 1000
Compiled Failed Invalid   Time   FailedType FailedMethod
   11283      6       0   113.24          1 com/mysql/jdbc/AbandonedConnectionCleanupThread run

 class 

jstat -class 19742 3000 1000
Loaded  Bytes  Unloaded  Bytes     Time   
 11555 16192.7      273   386.1      11.12

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值