jstat命令详解---JVM的统计监测工具

1、jstat命令简介

jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。

命令的格式如下:

jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]

2、使用详情列表

1、类加载统计

命令:

jstat -class 19570

结果:

image

解析:

Loaded:加载class的数量
Bytes:所占用空间大小
Unloaded:未加载数量
Bytes:未加载占用空间
Time:时间

2、编译统计

命令:

jstat -compiler 19570

结果:

image

解析:

Compiled:编译数量。
Failed:失败数量
Invalid:不可用数量
Time:时间
FailedType:失败类型
FailedMethod:失败的方法

3、垃圾回收统计

命令:

jstat -gc 19570

结果:

image

解析:

S0C:第一个幸存区的大小
S1C:第二个幸存区的大小
S0U:第一个幸存区的使用大小
S1U:第二个幸存区的使用大小
EC:伊甸园区的大小
EU:伊甸园区的使用大小
OC:老年代大小
OU:老年代使用大小
MC:方法区大小
MU:方法区使用大小
CCSC:压缩类空间大小
CCSU:压缩类空间使用大小
YGC:年轻代垃圾回收次数
YGCT:年轻代垃圾回收消耗时间
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间

4、堆内存统计

命令:

jstat -gccapacity 19570

结果:

image

解析:

NGCMN:新生代最小容量
NGCMX:新生代最大容量
NGC:当前新生代容量
S0C:第一个幸存区大小
S1C:第二个幸存区的大小
EC:伊甸园区的大小
OGCMN:老年代最小容量
OGCMX:老年代最大容量
OGC:当前老年代大小
OC:当前老年代大小
MCMN:最小元数据容量
MCMX:最大元数据容量
MC:当前元数据空间大小
CCSMN:最小压缩类空间大小
CCSMX:最大压缩类空间大小
CCSC:当前压缩类空间大小
YGC:年轻代gc次数
FGC:老年代GC次数

5、新生代垃圾回收统计

命令:

jstat -gcnew 19570

结果:

image

解析:

S0C:第一个幸存区大小
S1C:第二个幸存区的大小
S0U:第一个幸存区的使用大小
S1U:第二个幸存区的使用大小
TT:对象在新生代存活的次数
MTT:对象在新生代存活的最大次数
DSS:期望的幸存区大小
EC:伊甸园区的大小
EU:伊甸园区的使用大小
YGC:年轻代垃圾回收次数
YGCT:年轻代垃圾回收消耗时间

6、新生代内存统计

命令:

jstat -gcnewcapacity 19570

7、老年代垃圾回收统计

命令:

jstat -gcold 19570

8、老年代内存统计

命令:

jstat -gcoldcapacity 19570

9、JDK7 下 永久代空间统计

命令:

jstat -gcpermcapacity 19570

10、JDK8 下 元数据空间统计

命令:

jstat -gcmetacapacity 7172

11、总结垃圾回收统计

命令:

jstat -gcutil 19570

结果:

image

解析:

S0:幸存1区当前使用比例
S1:幸存2区当前使用比例
E:伊甸园区使用比例
O:老年代使用比例
M:元数据区使用比例
CCS:压缩使用比例
YGC:年轻代垃圾回收次数
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间

12、JVM编译方法统计

命令:

jstat -printcompilation 19570

结果:

image

解析:

Compiled:最近编译方法的数量
Size:最近编译方法的字节码数量
Type:最近编译方法的编译类型。
Method:方法名标识。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ​一、 jstat是什么 jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine...
    运维猫阅读 516评论 0 1
  • 工作之余,想总结一下JVM相关知识。 Java运行时数据区: Java虚拟机在执行Java程序的过程中会将其管理的...
    Huang远阅读 650评论 0 2
  • 第二部分 自动内存管理机制 第二章 java内存异常与内存溢出异常 运行数据区域 程序计数器:当前线程所执行的字节...
    小明oh阅读 1,220评论 0 2
  • 使用适当的虚拟机监控和分析工具可以加快我们分析数据、定位解决问题的速度。这些命令行工具大多是jdk/lib/too...
    Sid05Wang阅读 1,049评论 3 1
  • 根据阅读 《深入理解java虚拟机》 加上一点自己的理解。 JVM运行时数据区域 程序计数器:程序计数器是一个较小...
    zycisbg阅读 2,003评论 0 3