JVM性能调优监控工具
Jinfo
查看正在运行的Java程序的扩展参数
查看JVM的参数

查看java系统属性
等同于System.getProperties()

Jstat
jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令格式:
jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]
类加载统计

Loaded:加载class的数量
Bytes:所占用空间大小
Unloaded:未加载数量
Bytes:未加载占用空间
Time:时间
垃圾回收统计

S0C:第一个Survivor区的空间
S1C:第二个Survivor区的空间
S0U:第一个Survivor区的使用空间
S1U:第二个Survivor区的使用空间
EC:Eden区的总空间
EU:Eden区的使用空间
OC:Old区的总空间
OU:Old区的已使用空间
MC:元空间的总空间
MU:元空间的使用空间
CCSC:压缩类的总空间
CCSU:压缩类的使用空间
YGC:年轻代垃圾回收次数
YGCT:年轻代垃圾回收消耗时间
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间
堆内存统计
![]()
NGCMN:新生代最小空间
NGCMX:新生代最大空间
NGC:当前新生代空间
S0C:第一个Survivor区空间
S1C:第二个Survivor区空间
EC:Eden区的总空间
OGCMN:老年代最小空间
OGCMX:老年代最大空间
OGC:当前老年代空间
OC:当前老年代空间
MCMN:最小元空间大小
MCMX:最大元空间大小MC:当前元空间大小
CCSMN:最小压缩类空间大小
CCSMX:最大压缩类空间大小
CCSC:当前压缩类空间大小
YGC:年轻代GC次数
FGC:老年代GC次数
新生代垃圾回收统计

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

NGCMN:新生代最小空间
NGCMX:新生代最大空间
NGC:当前新生代空间
S0CMX:最大第一个Survivor区空间
S0C:当前第一个Survivor区空间
S1CMX:最大第二个Survivor区空间
S1C:当前第二个Survivor区空间
ECMX:最大Eden区空间
EC:当前Eden区空间
YGC:年轻代垃圾回收次数
FGC:老年代垃圾回收次数
老年代垃圾回收统计

MC:元空间的总空间
MU:元空间的使用空间
CCSC:压缩类的总空间CCSU:压缩类的使用空间
OC:Old区的总空间
OU:Old区的已使用空间
YGC:年轻代GC次数
FGC:老年代GC次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间
老年代内存统计

OGCMN:老年代最小空间
OGCMX:老年代最大空间
OGC:当前老年代空间
OC:当前老年代空间
YGC:年轻代GC次数
FGC:老年代GC次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间
元空间内存统计

MCMN:最小元空间大小
MCMX:最大元空间大小
MC:当前元空间大小
CCSMN:最小压缩类空间大小
CCSMX:最大压缩类空间大小
CCSC:当前压缩类空间大小
YGC:年轻代GC次数
FGC:老年代GC次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间
总垃圾回收统计

S0:第一个Survivor区当前使用比例
S1:第二个Survivor区当前使用比例
E:Eden区使用比例
O:Old区使用比例
M:元空间使用比例CCS:压缩使用比例
YGC:年轻代垃圾回收次数
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间
Jmap
可以用来查看内存信息
堆的对象统计
jmap -histo 7824 > xxx.txt
如图:

Num:序号
Instances:实例数量
Bytes:占用空间大小
Class Name:类名
堆信息
堆内存dump

也可以在设置内存溢出的时候自动导出dump文件(内存很大的时候,可能会导不出来)
1.-XX:+HeapDumpOnOutOfMemoryError
2.-XX:HeapDumpPath=输出路径-Xms10m -Xmx10m -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -
XX:HeapDumpPath=d:\oomdump.dump

可以使用jvisualvm命令工具导入文件分析

Jstack
jstack用于生成java虚拟机当前时刻的线程快照。

JVM性能调优工具详解

本文详细介绍了JVM性能调优的三大工具:Jinfo、Jstat和Jmap的功能及使用方法。Jinfo用于查看Java程序的参数;Jstat提供堆内存、垃圾回收和类加载的统计信息;Jmap则用于堆内存的对象统计和内存信息查看。

1697

被折叠的 条评论
为什么被折叠?



