Java GC 垃圾回收分析查看 JStat

文章详细介绍了如何使用jstat工具来查看Java进程的内存使用情况,包括GC的各个区域的容量、使用率、GC次数和耗时等关键信息,如eden区、survivor区、old区的统计,以及gccause和gcutil等选项的用途,这对于理解和优化Java应用的内存性能至关重要。
摘要由CSDN通过智能技术生成

一、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
S0CS1CS0US1UECEUOCOUMCMUCCSCCCSUYGCYGCTFGCFGCTCGCCGCTGCT
0614404712.77372805734434393.56113259888.773726980.1190.1720060.0190.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
  
S0S1EOMCCSYGCYGCTFGCFGCTCGCCGCTGCTLGCCGCC
076.752.7859.9897.9794.68190.1720060.0190.191G1 Evacuation PauseNo 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
S0S1EOMCCSYGCYGCTFGCFGCTCGCCGCTGCT
076.758.3359.9897.9794.68190.1720060.0190.191

说明:与gccause相同,只是减少了LGCC/GCC 两个字段

5、gcnew:新生代的统计信息

命令行:jstat -gcnew 20756
S0CS1CS0US1UTTMTTDSSECEUYGCYGCT
0614404712.7151551207372857344190.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
 
MCMUCCSCCCSUOCOUYGCFGCFGCTCGCCGCTGCT
6113259888.773726980.15734434393.5190060.0190.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
NGCMNNGCMXNGCS0CS1CECOGCMNOGCMXOGCOCMCMNMCMXMCCCSMNCCSMXCCSCYGCFGCCGC
0393216079872061447372803932160573445734401103872611320104857673721906
关键字说明
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
NGCMNNGCMXNGCS0CMXS0CS1CMXS1CECMXECYGCFGCCGC
039321607987200393216061443932160737281906
关键字说明
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
OGCMNOGCMXOGCOCYGCFGCFGCTCGCCGCTGCT
039321605734457344190060.0190.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
MCMNMCMXMCCCSMNCCSMXCCSCYGCFGCFGCTCGCCGCTGCT
0110387261132010485767372190060.0190.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时间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值