jstat查看统计JVM信息

本文介绍了如何使用jstat工具监控JVM的类装载、垃圾回收及JIT编译等性能指标,包括具体命令示例及其输出结果解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jstat文档地址https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html#BEHHGFAE

1、类装载信息

jstat -class 4431 1000 10 其中1000表示每隔1秒钟执行一次,10表示输出10次

-class输出的结果中Loaded表示加载的类的个数,Bytes表示加载了多少K,Unloaded表示卸载的类的个数,第三个字段Bytes表示卸载了多少K,Time表示花费在类加载和卸载的时间

命令具体使用参考https://docs.oracle.com/javase/8/docs/technotes/tools/unix/index.html

2、垃圾收集信息

参数有:-gc、-gcutil、-gccause、-gcnew、-gcold

命令举例:jstat -gc 4431 1000 3 

JDK1.8情况下-gc输出结果的含义 

S0C、S1C、S0U、S1U:S0和S1的总量与使用量

EC、EU:Eden 区总量与使用量

OC、OU:Old区总量与使用量

MC、MU:Metaspace区总量与使用量

CCSC、CCSU:压缩类空间总量与使用量

YGC、YGCT:YoungGC的次数与时间

FGC、FGCT:FullGC的次数与时间

GCT:总的GC时间

命令具体使用同上述网址

JVM内存结构

JVM内存分为堆区和非堆区,堆区分为Young区和Old区,Yong区分为Survivor和Eden,Survivor由S0和S1组成,S0和S1一样大,在同一时间点只有一个是启用的,另一个是空的。 JDK1.8非堆区Metaspace中的CCS,当我们启用短指针的时候,就会存在CCS;CodeCache存放的是JIT的代码信息,也就是把Java代码转化为Native代码时就存放在CodeCache中

3、JIT编译

参数有:-compiler、-printcompilation

命令举例:jstat -compiler 4431

-compiler输出结果中Compiled表示完成了多少个编译的任务 ,Failed表示失败的,Invalid表示无效的

命令具体使用同上述网址

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值