本文出处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 86517Loaded  Bytes  Unloaded  Bytes     Time 18051 32345.3        0     0.0     112.14

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

显示列名具体形容
Compiled编译工作执行数量
Failed编译工作执行谬误的数量
Invalid编译工作执行生效的数量
Time编译工作执行的工夫
FailedType编译工作最初一个执行的类型
FailedMethod最初一个编译失败工作所在的类及办法

例子如下

jstat -compiler 86517Compiled 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     GCT66560.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 86517NGCMN    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 86517S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT66560.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 86517NGCMN      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 86517MC       MU      CCSC     CCSU       OC          OU       YGC    FGC    FGCT     GCT104656.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  86517OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT0.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  86517MCMN       MCMX        MC       CCSMN      CCSMX       CCSC     YGC   FGC    FGCT     GCT0.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  86517S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT0.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  86517Compiled  Size  Type Method29939     77    1 org/apache/lucene/codecs/perfield/PerFieldDocValuesFormat$FieldsWriter <init>

Oracle官网文档