JVM之jstat

jstat

jstat对程序的资源和性能进行实时的监控,用于查看heap size和垃圾回收情况。

(1)命令格式

jstat -<options> pid

常用选项:

参数说明
-class查看类加载的情况,包括类加载的数量,所占字节,装卸载花费的时间等
-compiler显示编译器实时编译的数量等信息
-gc查看gc信息
-gccapacity查看内存中新生代、老生代、持久代的容量情况
-gccause同gcutil,同时显示最后一次仅当前正在发生的gc的原因
-gcmetacapacity显示元数据空间情况
-gcnew查看新生代gc信息
-gcnewcapacity查看新生代存储容量情况
-gcold查看老生代及持久代gc情况
-gcoldcapacity查看老生代容量情况
-gcutil显示垃圾回收信息
-printcompilation输出已被即时编译的方法信息

(2)命令示例

1. jstat -class <pid>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nAMxZ5Jc-1680665489216)(/Users/minh/Documents/MyMarkDown/JVM监控工具.assets/image-20230405094423519.png)]

参数说明
Loaded加载类的数量
Bytes加载类所占字节数大小
Unloaded未加载类数量
Bytes未加载类所占字节数大戏哦啊
Times总耗时

2. jstat -compiler <pid>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8jzlrMMj-1680665489217)(/Users/minh/Documents/MyMarkDown/JVM监控工具.assets/image-20230405094629593.png)]

参数说明
Compiled编译任务执行数量
Failed编译任务执行失败的数量
Invalid编译任务执行失效的数量
Time编译任务耗时
FailedType最后一个编译失败任务的类型
FailedMethod最后一个编译失败任务所在的类及方法

3. jstat -gc <pid>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RrzjErOY-1680665489217)(/Users/minh/Documents/MyMarkDown/JVM监控工具.assets/image-20230405094744155.png)]

参数说明
S0C新生代中第一个survivor(幸存区)的容量 (字节)
S1C新生代中第二个survivor(幸存区)的容量 (字节)
S0U新生代中第一个survivor(幸存区)目前已使用空间 (字节)
S1U新生代中第二个survivor(幸存区)目前已使用空间 (字节)
EC新生代中Eden(伊甸园)的容量 (字节)
EU新生代中Eden(伊甸园)目前已使用空间 (字节)
OC老生代的容量(字节)
OU老生代目前已使用空间 (字节)
MC方法区大小(字节)
MU方法区目前已使用空间(字节)
CCSC压缩类空间大小(字节)
CCSU压缩类目前已使用空间(字节)
YGC从应用程序启动到采样时新生代中gc次数
YGCT从应用程序启动到采样时新生代中gc所用时间(s)
FGC从应用程序启动到采样时老生代(全gc)gc次数
FGCT从应用程序启动到采样时老生代(全gc)gc所用时间(s)
CGC并发gc次数
CGCT并发gc耗时(s)
GCT从应用程序启动到采样时gc用的总时间(s)

4. jstat -gccapacity <pid>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bXT6Bpin-1680665489217)(/Users/minh/Documents/MyMarkDown/JVM监控工具.assets/image-20230405094805162.png)]

参数说明
NGCMN新生代初始化最小的容量 (字节)
NGCMX新生代最大容量 (字节)
NGC新生代当前容量 (字节)
S0C新生代中第一个survivor(幸存区)的容量 (字节)
S1C新生代中第二个survivor(幸存区)的容量 (字节)
EC新生代中Eden(伊甸园)的容量 (字节)
OGCMN老生代中初始化最小的容量(字节)
OGCMX老生代最大容量(字节)
OGC老生代当前新生成的容量(字节)
OC老生代当前容量(字节)
MCMN最小元数据容量(字节)
MCMX最大元数据容量(字节)
MC当前元数据空间大小(字节)
CCSMN最小压缩类容量大小(字节)
CCSMX最大压缩类容量大小(字节)
CCSC当前压缩类容量大小(字节)
YGC新生代gc次数
FGC老生代gc次数
CGC并发gc次数

5. jstat -gccause <pid>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gMiwmqjT-1680665489217)(/Users/minh/Documents/MyMarkDown/JVM监控工具.assets/image-20230405094827463.png)]

参数说明
S0新生代中第一个survivor(幸存区)当前使用占比
S1新生代中第二个survivor(幸存区)当前使用占比
E新生代中Eden(伊甸园)当前使用占比
O老生代当前使用占比
M元数据区使用占比
CCS压缩使用占比
YGC新生代gc次数
YGCT新生代gc耗时(s)
FGC老生代gc次数
FGCT老生代gc耗时(s)
CGC并发gc次数
CGCT并发gc耗时(s)
GCTgc总耗时(s)
LGCC上次gc的原因
GCC当前gc的原因

6. jstat -gcmetacapacity <pid>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iNJ9Q4aL-1680665489217)(/Users/minh/Documents/MyMarkDown/JVM监控工具.assets/image-20230405094847441.png)]

参数说明
MCMN最小元数据容量(字节)
MCMX最大元数据容量(字节)
MC当前元数据大小(字节)
CCSMN最小压缩类空间大小(字节)
CCSMX最大压缩类空间大小(字节)
CCSC当前压缩类空间大小(字节)
YGC新生代gc次数
FGC老生代gc次数
FGCT老生代gc耗时(s)
CGC并发gc次数
CGCT并发gc耗时(s)
GCTgc总耗时(s)

7. jstat -gcnew <pid>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EBs3Qd1w-1680665489218)(/Users/minh/Documents/MyMarkDown/JVM监控工具.assets/image-20230405094911320.png)]

参数说明
S0C新生代中第一个survivor(幸存区)的容量 (字节)
S1C新生代中第二个survivor(幸存区)的容量 (字节)
S0U新生代中第一个survivor(幸存区)目前已使用空间 (字节)
S1U新生代中第二个survivor(幸存区)目前已使用空间 (字节)
TT对象在新生代存活次数
MTT对象在新生代存活的最大次数
DSS期待的survivor(幸存区)大小 (字节)
EC新生代中Eden(伊甸园)的容量 (字节)
EU新生代中Eden(伊甸园)目前已使用空间 (字节)
YGC新生代gc次数
YGCT新生代中gc所用时间(s)

8. jstat -gcnewcapacity <pid>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6oapTqY5-1680665489218)(/Users/minh/Documents/MyMarkDown/JVM监控工具.assets/image-20230405094951975.png)]

参数说明
MGCMN新生代初始化最小的容量 (字节)
NGCMX新生代最大容量 (字节)
NGC新生代当前容量 (字节)
S0CMX新生代中第一个survivor(幸存区)的最大容量 (字节)
S0C新生代中第一个survivor(幸存区)的容量 (字节)
S1CMX新生代中第二个survivor(幸存区)的最大容量 (字节)
S1C新生代中第二个survivor(幸存区)的容量 (字节)
ECMX新生代中Eden(伊甸园)的最大容量 (字节)
EC新生代中Eden(伊甸园)的容量 (字节)
YGC新生代gc次数
FGC老生代gc次数
CGC并发gc次数

9. jstat -gcold <pid>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i3ty3OwL-1680665489218)(/Users/minh/Documents/MyMarkDown/JVM监控工具.assets/image-20230405095011674.png)]

参数说明
MC方法区容量 (字节)
MU方法区目前已使用容量 (字节)
CCSC压缩类空间大小 (字节)
CCSU压缩类已使用容量 (字节)
OC老生代容量 (字节)
OU老生代目前已使用容量 (字节)
YGC新生代gc次数
FGC老生代gc次数
FGCT老生代gc耗时(s)
CGC并发gc次数
CGCT并发gc耗时(s)
GCTgc总耗时(s)

10. jstat -gcoldcapacity <pid>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eBmtDne7-1680665489218)(/Users/minh/Documents/MyMarkDown/JVM监控工具.assets/image-20230405095030118.png)]

参数说明
OGCMN老生代初始化最小的容量 (字节)
OGCMX老生代最大容量 (字节)
OGC老生代当前容量 (字节)
OC老生代大小 (字节)
YGC新生代gc次数
FGC老生代gc次数
FGCT老生代gc耗时(s)
CGC并发gc次数
CGCT并发gc耗时(s)
GCTgc总耗时(s)

11. jstat -gcutil <pid>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1MXSHaEb-1680665489218)(/Users/minh/Documents/MyMarkDown/JVM监控工具.assets/image-20230405095050272.png)]

参数说明
S0新生代中第一个survivor(幸存区)当前使用占比
S1新生代中第二个survivor(幸存区)当前使用占比
E新生代中Eden(伊甸园)当前使用占比
O老生代当前使用占比
M元数据区使用占比
CCS压缩使用占比
YGC新生代gc次数
YGCT新生代gc耗时(s)
FGC老生代gc次数
FGCT老生代gc耗时(s)
CGC并发gc次数
CGCT并发gc耗时(s)
GCTgc总耗时(s)

12. jstat -printcompilation <pid>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cZKmy6oR-1680665489218)(/Users/minh/Documents/MyMarkDown/JVM监控工具.assets/image-20230405095117131.png)]

参数说明
Compiled编译任务的数量
Size方法生成的字节码大小
Type编译类型
Method类名和方法名标识的编译的方法

(3)常用命令示例

  • jstat -gc <pid> 1000 10

    每隔1000ms打印10次gc信息

  • jstat -gcutil <pid> 1000 10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值