作用:用来监视虚拟机各种运行状态信息的命令行工具。可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据
jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
-t
增加一个时间的列,显示程序运行的时间,单位是秒
C:\Users\qianqian>jstat -gcnew -t 8740
Timestamp S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
152650.0 0.0 10240.0 0.0 10240.0 15 15 7168.0 106496.0 70656.0 20769 209.628
-h
每隔多少行打印一次行标题
C:\Users\qianqian>jstat -gcnew -t -h2 8740 100 5
Timestamp S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
152761.3 0.0 3072.0 0.0 3072.0 1 15 1536.0 120832.0 41984.0 20787 209.773
152761.4 0.0 3072.0 0.0 3072.0 1 15 1536.0 120832.0 41984.0 20787 209.773
Timestamp S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
152761.5 0.0 3072.0 0.0 3072.0 1 15 1536.0 120832.0 41984.0 20787 209.773
152761.6 0.0 3072.0 0.0 3072.0 1 15 1536.0 120832.0 41984.0 20787 209.773
Timestamp S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
152761.7 0.0 3072.0 0.0 3072.0 1 15 1536.0 120832.0 43008.0 20787 209.773
[<interval> [<count>]]
interval:打印的间隔时间
count:打印的次数
option
选项option代表用户希望查询的虚拟机信息,主要分为三类:类加载、垃圾收集、运行期编译状
况。
-class

-gc
-gccapacity
C:\Users\qianqian>jstat -gccapacity 31004
NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC
0.0 262144.0 24576.0 0.0 0.0 24576.0 0.0 262144.0 237568.0 237568.0 0.0 1056768.0 4480.0 0.0 1048576.0 384.0 0 0
NGCMN | 新生代最小容量 |
NGCMX | 新生代最大容量 |
NGC | 当前新生代容量 |
S0C | 第一个Survivor区大小 |
S1C | 第二个Survivor区的大小 |
EC | Eden区的大小 |
OGCMN | 老年代最小容量 |
OGCMX | 老年代最大容量 |
OGC | 当前老年代大小 |
OC | 当前老年代大小 |
MCMN | 最小元数据容量 |
MCMX | 最大元数据容量 |
MC | 当前元数据空间大小 |
CCSMN | 最小压缩类空间大小 |
CCSMX | 最大压缩类空间大小 |
CCSC | 当前压缩类空间大小 |
YGC | 年轻代gc次数 |
FGC | 老年代GC次数 |
-gcutil
C:\Users\qianqian>jstat -gcutil 31004
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
0.00 0.00 12.50 0.00 17.32 19.90 0 0.000 0 0.000 0.000
S0 | 第一个Servivor区当前使用比例 |
S1 | 第二个Servivor区当前使用比例 |
E | Eden区使用比例 |
O | 老年代使用比例 |
M | 元数据区使用比例 |
CCS | 压缩使用比例 |
YGC | 年轻代垃圾回收次数 |
FGC | 老年代垃圾回收次数 |
FGCT | 老年代垃圾回收消耗时间 |
GCT | 垃圾回收消耗总时间 |
-gccause
C:\Users\qianqian>jstat -gccause 29176
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT LGCC GCC
0.00 0.00 12.50 0.00 17.32 19.90 0 0.000 0 0.000 0.000 No GC No GC
LGCC | 最近垃圾回收的原因 |
GCC | 当前垃圾回收的原因 |
-gcnew
新生代垃圾收集状况
C:\Users\qianqian>jstat -gcnew 29176
S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
0.0 0.0 0.0 0.0 15 15 0.0 24576.0 3072.0 0 0.000
S0C | 第一个Survivor区大小 |
S1C | 第二个Survivor区的大小 |
S0U | 第一个Survivor区的使用大小 |
S1U | 第二个Survivor区的使用大小 |
TT | 对象在新生代存活的次数 |
MTT | 对象在新生代存活的最大次数 |
DSS | 期望的Survivor区大小 |
EC | Eden区的大小 |
EU | Eden区的使用大小 |
YGC | 年轻代垃圾回收次数 |
YGCT | 年轻代垃圾回收消耗时间 |
-gcnewcapacity
和-gcnew基本相同,关注的是使用到的最大、最小空间
C:\Users\qianqian>jstat -gcnewcapacity 29176
NGCMN NGCMX NGC S0CMX S0C S1CMX S1C ECMX EC YGC FGC
0.0 262144.0 24576.0 0.0 0.0 262144.0 0.0 262144.0 24576.0 0 0
NGCMN | 新生代最小容量 |
NGCMX | 新生代最大容量 |
NGC | 当前新生代容量 |
S0CMX | 第一个Survivor区最大大小 |
S0C | 第一个Survivor区当前大小 |
S1CMX | 第二个Survivor区最大大小 |
S1C | 第二个Survivor区当前大小 |
ECMX | Eden区最大大小 |
EC | Eden区当前大小 |
YGC | 年轻代垃圾回收次数 |
FGC | 老年代回收次数 |
-gcold
查询老年代垃圾收集状况
C:\Users\qianqian>jstat -gcold 8740
MC MU CCSC CCSU OC OU YGC FGC FGCT GCT
91692.0 86040.6 11308.0 10325.6 390144.0 336758.3 20649 5 2.619 211.245
-gcoldcapacity
和gcold基本相同,关注的是最大、最小空间
C:\Users\qianqian>jstat -gcoldcapacity 8740
OGCMN OGCMX OGC OC YGC FGC FGCT GCT
0.0 1048576.0 483328.0 483328.0 20666 5 2.619 211.380
-gcmetacapacity
统计元空间大小
C:\Users\qianqian>jstat -gcmetacapacity 8740
MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC FGCT GCT
0.0 1130496.0 91692.0 0.0 1048576.0 11308.0 20711 5 2.619 211.746
-compiler
输出即时编译器编译过的方法、耗时等
C:\Users\qianqian>jstat -compiler 8740
Compiled Failed Invalid Time FailedType FailedMethod
13173 4 0 3.55 1 com/alibaba/druid/pool/DruidDataSource shrink
-printcompilation
输出已经被即时编译的方法
C:\Users\qianqian>jstat -printcompilation 8740
Compiled Size Type Method
13173 17 1 java/net/NetworkInterface$1checkedAddresses hasMoreElements