JVM内存调优工具

jps、jmap、jinfo、jstat、jstack、jvisualvm

jps查看进程

image.png

jmap查看内存信息

jmap查看堆信息

JVM内存调优工具_第1张图片

jmap查看内存信息

JVM内存调优工具_第2张图片
num:序号
instances:实例数量
bytes:占用空间大小
class name:类名称

jmap堆内存dump

JVM内存调优工具_第3张图片

jinfo

查看程序的运行参数
JVM内存调优工具_第4张图片

jstat 多使用、多熟悉

查看参数

JVM内存调优工具_第5张图片

用jstat做gc统计,评估系统的gc压力情况

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

堆内存的统计

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

Jstack

查看线程信息,用jstack查找死锁

jvisualvm

可视化管理工具,上面的命令可视化管理。
启动普通的jar程序JMX端口配置: java -Dcom.sun.management.jmxremote.port=8899  -Dcom.sun.management.jmxremote.ssl=false Dcom.sun.management.jmxremote.authenticate=false -jar foo.jar
tomcat的JMX配置 JAVA_OPTS=-Dcom.sun.management.jmxremote.port=8899 -Dcom.sun.management.jmxremote.ssl=false Dcom.sun.management.jmxremote.authenticate=false

你可能感兴趣的:(jvm)