Jstat命令详解

jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。

下面展示常用命令
jstat –class<pid> : 显示加载class的数量,及所占空间等信息。
可以列出当前JVM版本支持的选项,常见的有

  • -class 类加载器
显示列名具体描述
Loaded装载的类的数量
Bytes装载的字节数
Unloaded卸载的类的数量
Bytes卸载的类数量
Time装载和卸载的使用时间

例子如下

jstat -class 86517
Loaded  Bytes  Unloaded  Bytes     Time
 18051 32345.3        0     0.0     112.14

jstat -compiler pid显示VM实时编译的数量等信息。

显示列名具体描述
Compiled编译任务执行数量
Failed编译任务执行错误的数量
Invalid编译任务执行失效的数量
Time编译任务执行的时间
FailedType编译任务最后一个执行的类型
FailedMethod最后一个编译失败任务所在的类及方法

例子如下

jstat -compiler 86517
Compiled Failed Invalid   Time   FailedType FailedMethod
 23183      9       0   459.21          1 

jstat -gc <pid>: 可以显示gc的信息,查看gc的次数,及时间。

列名描述
S0C幸存区Survior1 S0空间容量 (kb)
S1C幸存区Survior S1空间容量(kb)
S0U幸存区Survior1 S0使用空间(kb)
S1U幸存区Survior S1 使用空间(kb)
ECEden 区空间容量(kb)
EUEden 区使用空间(kb)
OC老年代Old空间容量(kb)
OU老年代Old(kb)
MC元空间MetaSpace 空间容量(kb)
MU元空间MetaSpace使用空间(kb)
CCSC压缩类空间容量(kb)
CCSU压缩类使用空间(kb)
YGC年轻代gc回收数量
YGCT年轻代gc收集时间
FGCfull gc执行数量
FGCTfull gc 执行总时间
GCT总垃圾回收时间

例子如下

jstat -gc 86517
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT
66560.0 66560.0  0.0   7215.7 532480.0 89819.8  1431552.0  1291011.4  108752.0 101631.2 15004.0 11994.8  10491  163.755   0      0.000  163.755

jstat -gccapacity pid 查看内存中堆的分代内存大小

列名描述
NGCMNYoung 年轻代最小的新一代容量(kB)
NGCMXYoung 年轻代最大新一代容量(kB)
NGCYoung 年轻代 当前容量(kB)
S0C幸存区Survior S0空间容量 (kB)
S1C幸存区Survior S1空间容量 (kB)
ECEden区空间容量(kB)
OGCMNOld老年代最小的新一代容量(kB)
OGCMXOld老年代最大新一代容量(kB)
OGC当前Old老年代容量(kB)
OC当前旧的Old老年代容量(kB)
MCMN最小Metaspace元空间容量(kB)
MCMX最大Metaspace元空间容量(kB)
MCMetaspace元空间容量(kB)
CCSMN压缩类最小空间(kB)
CCSMX压缩类最大空间(kB)
CCSC压缩类的空间(kB)
YGC年轻代 GC 事件的数量
FGCFull GC 事件的数量

例子如下:

jstat -gccapacity 86517
NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMX     CCSC    YGC    FGC
 0.0 665600.0 665600.0 66560.0 66560.0 532480.0        0.0  1431552.0  1431552.0  1431552.0      0.0 1138688.0 104144.0      0.0 1048576.0  14492.0    350     0

-gccause <pid> 显示有关垃圾收集统计信息的摘要

列名描述
S0幸存区Survior S0利用率占空间当前容量的百分比
S1幸存区Survior S1利用率占空间当前容量的百分比
EEden区利用率占空间当前容量的百分比
OOld老年代利用率占空间当前容量的百分比
MMetaspace元空间利用率占空间当前容量的百分比
CCS以百分比形式压缩的类空间利用率
YGC年轻代 GC 事件的数量
YGCT年轻代垃圾回收时间
FGCT老年代GC时间
GCT总垃圾回收时间
LGCC上次垃圾回收的原因
GCC当前垃圾回收的原因

例子如下

jstat -gccause 86517
 S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC
 0.00   7.93 42.77  86.85  93.51  79.91    425    9.173     0    0.000    9.173 CMS Initial Mark     No GC

-gcnew <pid> 年轻代对象的信息

列名描述
S0C幸存区Survior S0空间容量 (kb)
S1C幸存区Survior S1空间容量(kb)
S0U幸存区Survior1 S0使用空间(kb)
S1U幸存区Survior S1 使用空间(kb)
TT年轻代晋升到年老代的阈值
MTT年轻代晋升到年老代最大阈值
DSS所需的Survior1幸存者大小
ECEden 区空间容量(kb)
EUEden 区使用空间(kb)
YGC年轻代gc回收数量
YGCT年轻代gc收集时间

例子如下

 jstat -gcnew 86517
S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT
66560.0 66560.0    0.0 5509.0 10  10 33280.0 532480.0 173025.7    465    9.724

jstat -gcnewcapacity 年轻代空间大小统计

列名描述
NGCMNYoung 年轻代最小的新一代容量(kB)
NGCMXYoung 年轻代最大新一代容量(kB)
NGCYoung 年轻代 当前容量(kB)
S0CMX幸存区Survior S0最大容量(kB)
S0c存区Survior S0空间容量 (kb)
S1CMX幸存区Survior S1最大容量(kB)
S1C存区Survior S1空间容量 (kb)
ECMXEden 区空间最大容量(kb)
ECEden 区空间容量(kb)
YGC年轻代gc回收数量
FGCFull gc 执行回收数量

例子如下

jstat -gcnewcapacity 86517
NGCMN      NGCMX       NGC      S0CMX     S0C     S1CMX     S1C       ECMX        EC      YGC   FGC
  0.0   665600.0   665600.0  66560.0  66560.0  66560.0  66560.0   532480.0   532480.0   512     0

jstat -gcold <pid> 年老代空间大小统计

列名描述
MCMetaspace元空间容量(kB)
MU元空间MetaSpace使用空间(kb)
CCSC压缩类的空间(kB)
CCSU压缩类使用空间(kb)
OC老年代Old空间容量(kb)
OU老年代Old(kb)
YGC年轻代gc回收数量
FGCFull gc 执行回收数量
FGCT老年代GC时间
GCT总垃圾回收时间

例子如下

jstat -gcold 86517
MC       MU      CCSC     CCSU       OC          OU       YGC    FGC    FGCT     GCT
104656.0  97895.1  14492.0  11590.2   1431552.0   1245031.1    924     0    0.000   16.289

jstat -gcoldcapacity <pid> 年老代容量空间大小统计

列名描述
OGCMNOld年老代最小容量(kb)
OGCMXOld年老代最大容量(kb)
OGC当前Old老年代容量(kB)
OC当前旧的Old老年代容量(kB)
YGC年轻代gc回收数量
FGCFull gc 执行回收数量
FGCT老年代GC时间
GCT总垃圾回收时间

例子如下

jstat -gcoldcapacity  86517
OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT
0.0   1431552.0   1431552.0   1431552.0   1431552.0   939     0    0.000   16.459

jstat -gcmetacapacity <pid> 元数据空间统计

列名描述
MCMN最小Metaspace元空间容量(kB)
MCMX最大Metaspace元空间容量(kB)
MCMetaspace元空间容量(kB)
CCSMN压缩类最小空间(kB)
CCSMX压缩类最大空间(kB)
CCSC压缩类空间容量(kb)
CCSU压缩类使用空间(kb)
YGC年轻代gc回收数量
FGCFull gc 执行回收数量
FGCT老年代GC时间
GCT总垃圾回收时间

例子如下

jstat -gcmetacapacity  86517
MCMN       MCMX        MC       CCSMN      CCSMX       CCSC     YGC   FGC    FGCT     GCT
0.0  1140736.0   104656.0        0.0  1048576.0    14492.0   965     0    0.000   16.805

jstat -gcutil <pid> 垃圾收集统计信息摘要

列名描述
S0幸存区Survior S0利用率占空间当前容量的百分比
S1幸存区Survior S1利用率占空间当前容量的百分比
EEden区利用率占空间当前容量的百分比
OOld老年代利用率占空间当前容量的百分比
MMetaspace元空间利用率占空间当前容量的百分比
CCS以百分比形式压缩的类空间利用率
YGC年轻代 GC 事件的数量
YGCT年轻代垃圾回收时间
FGCT老年代GC时间
GCT总垃圾回收时间

例子如下

jstat -gcutil  86517
S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT
0.00   7.40  71.87  86.94  93.55  79.98    979   16.992     0    0.000   16.992

jstat -printcompilation Java HotSpot 虚拟机 编译方法统计

列名描述
Compiled最近编译的方法执行的编译任务数
Size最近编译的方法的字节码的字节数
Type最近编译的方法的编译类型
Method标识最近编译的方法的类名和方法名

例子如下

jstat -printcompilation  86517
Compiled  Size  Type Method
29939     77    1 org/apache/lucene/codecs/perfield/PerFieldDocValuesFormat$FieldsWriter <init>
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值