jvm---常用监控工具指令

Posted nijunyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jvm---常用监控工具指令相关的知识,希望对你有一定的参考价值。

1.jps 查看jvm中运行的进程(获取对应pid)

参数:默认-V(大写)

-v: 列出jvm启动参数。

----------------------------------

2.jstack pid 查看某个Java进程内的线程堆栈信息,,可用于线程死锁问题排查

----------------------------------

3.jinfo pid 查看某个java进程的jvm参数信息等

---------

  jinfo -flags pid 查看jvm参数

----------

  jinfo -sysprops pid 查看系统参数

----------------------------------

4.jstat  JVM统计监测工具

----------

 jstat -class pid 类加载统计

技术图片

Loaded:加载class的数量

Bytes:所占用空间大小

Unloaded:未加载数量

Bytes:未加载占用空间

Time:时间

--------------

 jstat -gc pid  垃圾回收统计

技术图片

S0C:第一个幸存区的大小

S1C:第二个幸存区的大小

S0U:第一个幸存区的使用大小

S1U:第二个幸存区的使用大小

EC:伊甸园区的大小

EU:伊甸园区的使用大小

OC:老年代大小

OU:老年代使用大小

MC:方法区大小(元空间)

MU:方法区使用大小

CCSC:压缩类空间大小

CCSU:压缩类空间使用大小

YGC:年轻代垃圾回收次数

YGCT:年轻代垃圾回收消耗时间

FGC:老年代垃圾回收次数

FGCT:老年代垃圾回收消耗时间

GCT:垃圾回收消耗总时间

----------

 jstat -gccapacity pid  内存统计  和 jstat -gc pid 结果差不多,多了新生代,老年代,永久代(元空间)的最小和最大容量

技术图片

NGCMN:新生代最小容量

NGCMX:新生代最大容量

NGC:当前新生代容量

S0C:第一个幸存区大小

S1C:第二个幸存区的大小

EC:伊甸园区的大小

OGCMN:老年代最小容量

OGCMX:老年代最大容量

OGC:当前老年代大小

OC:当前老年代大小

MCMN:最小元数据容量

MCMX:最大元数据容量

MC:当前元数据空间大小

CCSMN:最小压缩类空间大小

CCSMX:最大压缩类空间大小

CCSC:当前压缩类空间大小

YGC:年轻代gc次数

FGC:老年代GC次数

----------

 jstat -gcnew pid       新生代垃圾回收统计
技术图片

 

 S0C:第一个幸存区的大小

S1C:第二个幸存区的大小

S0U:第一个幸存区的使用大小

S1U:第二个幸存区的使用大小

TT:对象在新生代存活的次数

MTT:对象在新生代存活的最大次数

DSS:期望的幸存区大小

EC:伊甸园区的大小

 EU:伊甸园区的使用大小

YGC:年轻代垃圾回收次数

YGCT:年轻代垃圾回收消耗时间

----------

 jstat -gcnewcapacity pid  新生代内存统计
技术图片

NGCMN:新生代最小容量

NGCMX:新生代最大容量

NGC:当前新生代容量

S0CMX:最大幸存1区大小

S0C:当前幸存1区大小

S1CMX:最大幸存2区大小

S1C:当前幸存2区大小

ECMX:最大伊甸园区大小

EC:当前伊甸园区大小

YGC:年轻代垃圾回收次数

FGC:老年代回收次数

----------

jstat -gcoldgc pid 老年代垃圾回收统计

技术图片

MC:方法区大小

MU:方法区使用大小

CCSC:压缩类空间大小

CCSU:压缩类空间使用大小

OC:老年代大小

OU:老年代使用大小

YGC:年轻代垃圾回收次数

FGC:老年代垃圾回收次数

FGCT:老年代垃圾回收消耗时间

GCT:垃圾回收消耗总时间

----------

jstat -gcoldcapacity pid 老年代内存统计
技术图片

OGCMN:老年代最小容量

OGCMX:老年代最大容量

OGC:当前老年代大小

OC:老年代大小

YGC:年轻代垃圾回收次数

FGC:老年代垃圾回收次数

FGCT:老年代垃圾回收消耗时间

GCT:垃圾回收消耗总时间

----------

jstat -gcmetacapacity pid 元空间统计
技术图片

MCMN:最小元数据容量

MCMX:最大元数据容量

MC:当前元数据空间大小

CCSMN:最小压缩类空间大小

CCSMX:最大压缩类空间大小

CCSC:当前压缩类空间大小

YGC:年轻代垃圾回收次数

FGC:老年代垃圾回收次数

FGCT:老年代垃圾回收消耗时间

GCT:垃圾回收消耗总时间

----------

jstat -gcutil pid 占比统计

技术图片

S0:幸存1区当前使用比例

S1:幸存2区当前使用比例

E:伊甸园区使用比例

O:老年代使用比例

M:元数据区使用比例

CCS:压缩使用比例

YGC:年轻代垃圾回收次数

FGC:老年代垃圾回收次数

FGCT:老年代垃圾回收消耗时间

GCT:垃圾回收消耗总时间

----------------------------------

5.jmap  内存信息查看

----------

jmap -histo pid > aa.txt  实例信息查看

 instances:实例数量

 

 bytes:占用空间大小

 

 class name:类名称

----------

jmap -heap pid  堆信息查看.

----------

堆内存dump

jmap -dump:format=b,file=文件名.hprof pid  取下来可以导入可视化工具分析,比如jvisualvm


可以设置jvm启动参数,内存溢出时,自动保存堆信息(内存很大,可能无法导出) -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=文件路径

 

 

 

以上是关于jvm---常用监控工具指令的主要内容,如果未能解决你的问题,请参考以下文章

JVM监控诊断之工具使用(下篇)

JVM监控诊断之工具使用(下篇)

JVM监控诊断之工具使用(下篇)

JVM监控和调优常用命令工具总结

Java之JVM监控工具分享

jvm中常用的性能监控和调优工具介绍与使用