一、jstat:查看帮助或选项
1、查看帮助
命令行:jstat --help
Usage: jstat --help|-options
jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
...
2、查看可用的选项
命令行:jstat -options
-class
-compiler
-gc
-gccapacity
-gccause
-gcmetacapacity
-gcnew
-gcnewcapacity
-gcold
-gcoldcapacity
-gcutil
-printcompilation
二、jstat查看gc的常用命令
1、找一个java进程
命令行:jps
24723 Jps
20756 storeback-0.0.1-SNAPSHOT.jar
2、gc: 打印gc的信息
命令行:jstat -gc 20756
S0C | S1C | S0U | S1U | EC | EU | OC | OU | MC | MU | CCSC | CCSU | YGC | YGCT | FGC | FGCT | CGC | CGCT | GCT |
0 | 6144 | 0 | 4712.7 | 73728 | 0 | 57344 | 34393.5 | 61132 | 59888.7 | 7372 | 6980.1 | 19 | 0.172 | 0 | 0 | 6 | 0.019 | 0.191 |
说明
关键字 | 说明 |
S0C | survivor 0区域的容量,以KB为单位 |
S1C | survivor 1区域的容量,以KB为单位 |
S0U | survivor 0区域的使用大小,以KB为单位 |
S1U | survivor 1区域的使用大小,以KB为单位 |
EC | Eden区域的容量,以KB为单位 |
EU | Eden区域的使用,以KB为单位 |
MC | Metaspace元数据区的 Committed Size,以KB为单位 |
MU | Metaspace元数据区的使用大小,以KB为单位 |
CCSC | Compressed class的Committed Size,以KB为单位 |
CCSU | Compressed class的使用大小,以KB为单位 |
OC | old区域的容量,以KB为单位 |
OU | old区域的使用,以KB为单位 |
YGC | young generation(年轻代)的GC次数 |
YGCT | young generation(年轻代)的GC消耗时间 |
FGC | full GC的次数 |
FGCT | full GC的消耗时间 |
CGC | 并发GC次数(G1 gc) |
CGCT | 并发GC的消耗时间(G1 gc) |
GCT | GC总消耗时间 |
3、gccause:显示最近一次gc的原因
命令行:jstat -gccause 20756
S0 | S1 | E | O | M | CCS | YGC | YGCT | FGC | FGCT | CGC | CGCT | GCT | LGCC | GCC |
0 | 76.7 | 52.78 | 59.98 | 97.97 | 94.68 | 19 | 0.172 | 0 | 0 | 6 | 0.019 | 0.191 | G1 Evacuation Pause | No GC |
说明
关键字 | 说明 |
S0 | survivor 0区域的使用比例 |
S1 | survivor 1区域的使用比例 |
E | Eden区域的使用比例 |
O | Old区域的使用比例 |
M | 元数据区域的使用比例 |
CCS | Compressed class空间的使用比例 |
YGC | young generation(年轻代)的GC次数 |
YGCT | young generation(年轻代)的GC消耗时间 |
FGC | full GC的次数 |
FGCT | full GC的消耗时间 |
CGC | 并发GC次数(G1 gc) |
CGCT | 并发GC的消耗时间(G1 gc) |
GCT | GC总消耗时间 |
LGCC | 上次GC的原因 |
GCC | 当前GC的原因 |
4、gcutil: 统计GC总体的情况
命令行:jstat -gcutil 20756
S0 | S1 | E | O | M | CCS | YGC | YGCT | FGC | FGCT | CGC | CGCT | GCT |
0 | 76.7 | 58.33 | 59.98 | 97.97 | 94.68 | 19 | 0.172 | 0 | 0 | 6 | 0.019 | 0.191 |
说明:与gccause相同,只是减少了LGCC/GCC 两个字段
5、gcnew:新生代的统计信息
命令行:jstat -gcnew 20756
S0C | S1C | S0U | S1U | TT | MTT | DSS | EC | EU | YGC | YGCT |
0 | 6144 | 0 | 4712.7 | 15 | 15 | 5120 | 73728 | 57344 | 19 | 0.172 |
关键字 | 说明 |
S0C | survivor 0区域的容量 |
S1C | survivor 1区域的容量 |
S0U | survivor 0区域的使用大小,以KB为单位 |
S1U | survivor 1区域的使用大小,以KB为单位 |
TT | Tenuring threshold(新生代晋升到老年代的阀值) |
MTT | 最大的Tenuring threshold |
DSS | 所需的survivor区大小 |
EC | Eden区域的容量 |
EU | Eden区域的使用,以KB为单位 |
YGC | young generation(年轻代)GC次数 |
YGCT | young generation(年轻代)GC所需的时 |
6、gcold:统计old代的信息
命令行:jstat -gcold 20756
MC | MU | CCSC | CCSU | OC | OU | YGC | FGC | FGCT | CGC | CGCT | GCT |
61132 | 59888.7 | 7372 | 6980.1 | 57344 | 34393.5 | 19 | 0 | 0 | 6 | 0.019 | 0.191 |
关键字 | 说明 |
MC | Metaspace元数据区的 Committed Size,以KB为单位 |
MU | Metaspace元数据区的使用大小,以KB为单位 |
CCSC | Compressed class的Committed Size,以KB为单位 |
CCSU | Compressed class的使用大小,以KB为单位 |
OC | old区域的容量,以KB为单位 |
OU | old区域的使用,以KB为单位 |
YGC | young generation(年轻代)的GC次数 |
FGC | full GC的次数 |
FGCT | full GC的时间 |
CGC | 并发GC次数(G1 gc) |
CGCT | 并发GC的消耗时间(G1 gc) |
GCT | 总的GC时间 |
7、gccapacity:统计内存池的创建和大小等统计信息
命令行:jstat -gccapacity 20756
NGCMN | NGCMX | NGC | S0C | S1C | EC | OGCMN | OGCMX | OGC | OC | MCMN | MCMX | MC | CCSMN | CCSMX | CCSC | YGC | FGC | CGC |
0 | 3932160 | 79872 | 0 | 6144 | 73728 | 0 | 3932160 | 57344 | 57344 | 0 | 1103872 | 61132 | 0 | 1048576 | 7372 | 19 | 0 | 6 |
关键字 | 说明 |
NGCMN | 最小的新生代的大小 |
NGCMX | 最大的新生代大小 |
NGC | 目前新生代的大小 |
S0C | survivor 0区域的容量 |
S1C | survivor 1区域的容量 |
EC | Eden区域的容量 |
OGCMN | 最小old代大小 |
OGCMX | 最大old代大小 |
OGC | 目前old代大小 |
OC | 目前old space大小 |
MCMN | 最小metaspace大小 |
MCMX | 最大metaspace大小 |
MC | Metaspace元数据区的 Committed Size |
CCSMN | Compressed class空间的最小容量 |
CCSMX | Compressed class空间的最大容量 |
CCSC | Compressed class的Committed Size |
YGC | young generation的GC次数 |
FGC | full GC的次数 |
CGC | 并发GC次数(G1 gc) |
8、gcnewcapacity:统计新生代各个区的大小信息
命令行:jstat -gcnewcapacity 20756
NGCMN | NGCMX | NGC | S0CMX | S0C | S1CMX | S1C | ECMX | EC | YGC | FGC | CGC |
0 | 3932160 | 79872 | 0 | 0 | 3932160 | 6144 | 3932160 | 73728 | 19 | 0 | 6 |
关键字 | 说明 |
NGCMN | 最小的新生代的大小 |
NGCMX | 最大的新生代大小 |
NGC | 目前新生代的大小 |
S0CMX | survivor 0区域容量的最大值 |
S0C | survivor 0区域的容量 |
S1CMX | survivor 1区域容量的最大值 |
S1C | survivor 1区域的容量 |
ECMX | Eden区域容量的最大值 |
EC | Eden区域的容量 |
YGC | young generation的GC次数 |
FGC | full GC的次数 |
CGC | 并发GC次数(G1 gc) |
9、gcoldcapacity:统计old代各个区的大小信息
命令行:jstat -gcoldcapacity 20756
OGCMN | OGCMX | OGC | OC | YGC | FGC | FGCT | CGC | CGCT | GCT |
0 | 3932160 | 57344 | 57344 | 19 | 0 | 0 | 6 | 0.019 | 0.191 |
关键字 | 说明 |
OGCMN | 最小old代大小 |
OGCMX | 最大old代大小 |
OGC | 目前old代大小 |
OC | 目前old space大小 |
YGC | young generation的GC次数 |
YGCT | young generation的GC时间 |
FGC | full GC的次数 |
FGCT | full GC的时间 |
CGC | 并发GC次数(G1 gc) |
CGCT | 并发GC耗时 (G1 gc) |
GCT | 总的GC时间 |
10、gcmetacapacity:统计元数据区域的容量信息
命令行:jstat -gcmetacapacity 20756
MCMN | MCMX | MC | CCSMN | CCSMX | CCSC | YGC | FGC | FGCT | CGC | CGCT | GCT |
0 | 1103872 | 61132 | 0 | 1048576 | 7372 | 19 | 0 | 0 | 6 | 0.019 | 0.191 |
关键字 | 说明 |
MCMN | 最小metaspace大小 |
MCMX | 最大metaspace大小 |
MC | Metaspace元数据区的 Committed Size |
CCSMN | Compressed class空间的最小容量 |
CCSMX | Compressed class空间的最大容量 |
CCSC | Compressed class的Committed Size |
YGC | young generation的GC次数 |
FGC | full GC的次数 |
FGCT | full GC的时间 |
CGC | 并发GC次数(G1 gc) |
CGCT | 并发GC耗时 (G1 gc) |
GCT | 总的GC时间 |