java进程的PID获取命令:
===========================================================
1.jstat命令简介
jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。
命令的格式如下:
jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]
2.使用详情列表
【以下的统计空间单位,未标明的 都是KB】
1>类加载统计
命令:
jstat -class 19570
结果:
![](https://blog.claves.cn/wp-content/uploads/2020/12/20201231100641_484133_978388-20190626144521902-1269472927.png)
解析:
Loaded:加载class的数量 Bytes:所占用空间大小 Unloaded:未加载数量 Bytes:未加载占用空间 Time:时间
2>编译统计
命令:
jstat -compiler 19570
结果:
![](https://blog.claves.cn/wp-content/uploads/2020/12/20201231100642_410613_978388-20190626150543665-1680565377.png)
解析:
Compiled:编译数量。 Failed:失败数量 Invalid:不可用数量 Time:时间 FailedType:失败类型 FailedMethod:失败的方法
3>垃圾回收统计
命令:
jstat -gc 19570
结果:
![](https://blog.claves.cn/wp-content/uploads/2020/12/20201231100643_280463_978388-20190626150321415-587548863.png)
解析:
![复制代码](https://common.cnblogs.com/images/copycode.gif)
S0C:第一个幸存区的大小 S1C:第二个幸存区的大小 S0U:第一个幸存区的使用大小 S1U:第二个幸存区的使用大小 EC:伊甸园区的大小 EU:伊甸园区的使用大小 OC:老年代大小 OU:老年代使用大小 MC:方法区大小 MU:方法区使用大小 CCSC:压缩类空间大小 CCSU:压缩类空间使用大小 YGC:年轻代垃圾回收次数 YGCT:年轻代垃圾回收消耗时间 FGC:老年代垃圾回收次数 FGCT:老年代垃圾回收消耗时间 GCT:垃圾回收消耗总时间
![复制代码](https://common.cnblogs.com/images/copycode.gif)
4>堆内存统计
命令:
jstat -gccapacity 19570
结果:
![](https://blog.claves.cn/wp-content/uploads/2020/12/20201231100644_791449_978388-20190626150729791-152228404.png)
解析:
![复制代码](https://common.cnblogs.com/images/copycode.gif)
NGCMN:新生代最小容量 NGCMX:新生代最大容量 NGC:当前新生代容量 S0C:第一个幸存区大小 S1C:第二个幸存区的大小 EC:伊甸园区的大小 OGCMN:老年代最小容量 OGCMX:老年代最大容量 OGC:当前老年代大小 OC:当前老年代大小 MCMN:最小元数据容量 MCMX:最大元数据容量 MC:当前元数据空间大小 CCSMN:最小压缩类空间大小 CCSMX:最大压缩类空间大小 CCSC:当前压缩类空间大小 YGC:年轻代gc次数 FGC:老年代GC次数
![复制代码](https://common.cnblogs.com/images/copycode.gif)
5>新生代垃圾回收统计
命令:
jstat -gcnew 19570
结果:
![](https://blog.claves.cn/wp-content/uploads/2020/12/20201231100646_051586_978388-20190626150900926-1260600395.png)
解析:
![复制代码](https://common.cnblogs.com/images/copycode.gif)
S0C:第一个幸存区大小 S1C:第二个幸存区的大小 S0U:第一个幸存区的使用大小 S1U:第二个幸存区的使用大小 TT:对象在新生代存活的次数 MTT:对象在新生代存活的最大次数 DSS:期望的幸存区大小 EC:伊甸园区的大小 EU:伊甸园区的使用大小 YGC:年轻代垃圾回收次数 YGCT:年轻代垃圾回收消耗时间
![复制代码](https://common.cnblogs.com/images/copycode.gif)
6>新生代内存统计
命令:
jstat -gcnewcapacity 19570
结果:
![](https://blog.claves.cn/wp-content/uploads/2020/12/20201231100647_440938_978388-20190626151231443-1615804694.png)
解析:
![复制代码](https://common.cnblogs.com/images/copycode.gif)
NGCMN:新生代最小容量 NGCMX:新生代最大容量 NGC:当前新生代容量 S0CMX:最大幸存1区大小 S0C:当前幸存1区大小 S1CMX:最大幸存2区大小 S1C:当前幸存2区大小 ECMX:最大伊甸园区大小 EC:当前伊甸园区大小 YGC:年轻代垃圾回收次数 FGC:老年代回收次数
![复制代码](https://common.cnblogs.com/images/copycode.gif)
7>老年代垃圾回收统计
命令:
jstat -gcold 19570
结果:
![](https://blog.claves.cn/wp-content/uploads/2020/12/20201231100648_710885_978388-20190626151429886-1311523095.png)
解析:
![复制代码](https://common.cnblogs.com/images/copycode.gif)
MC:方法区大小 MU:方法区使用大小 CCSC:压缩类空间大小 CCSU:压缩类空间使用大小 OC:老年代大小 OU:老年代使用大小 YGC:年轻代垃圾回收次数 FGC:老年代垃圾回收次数 FGCT:老年代垃圾回收消耗时间 GCT:垃圾回收消耗总时间
![复制代码](https://common.cnblogs.com/images/copycode.gif)
8>老年代内存统计
命令:
jstat -gcoldcapacity 19570
结果:
![](https://blog.claves.cn/wp-content/uploads/2020/12/20201231100649_899078_978388-20190626151556294-2143038515.png)
解析:
![复制代码](https://common.cnblogs.com/images/copycode.gif)
OGCMN:老年代最小容量 OGCMX:老年代最大容量 OGC:当前老年代大小 OC:老年代大小 YGC:年轻代垃圾回收次数 FGC:老年代垃圾回收次数 FGCT:老年代垃圾回收消耗时间 GCT:垃圾回收消耗总时间
![复制代码](https://common.cnblogs.com/images/copycode.gif)
9>JDK7 下 永久代空间统计
命令:
jstat -gcpermcapacity 19570
结果:
![](https://blog.claves.cn/wp-content/uploads/2020/12/20201231100650_964176_978388-20190626153657266-1514682270.png)
解析:
![复制代码](https://common.cnblogs.com/images/copycode.gif)
PGCMN:最小永久代容量 PGCMX:最大永久代容量 PGC:当前新生成的永久代空间大小 PC :永久代空间大小 YGC:年轻代垃圾回收次数 FGC:老年代垃圾回收次数 FGCT:老年代垃圾回收消耗时间 GCT:垃圾回收消耗总时间
![复制代码](https://common.cnblogs.com/images/copycode.gif)
10>JDK8 下 元数据空间统计
命令:
jstat -gcmetacapacity 7172
结果:
MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC FGCT GCT 0.0 33152.0 33152.0 0.0 0.0 0.0 12 0 0.000 0.736
解析:
![复制代码](https://common.cnblogs.com/images/copycode.gif)
MCMN:最小元数据容量 MCMX:最大元数据容量 MC:当前元数据空间大小 CCSMN:最小压缩类空间大小 CCSMX:最大压缩类空间大小 CCSC:当前压缩类空间大小 YGC:年轻代垃圾回收次数 FGC:老年代垃圾回收次数 FGCT:老年代垃圾回收消耗时间 GCT:垃圾回收消耗总时间
![复制代码](https://common.cnblogs.com/images/copycode.gif)
11>总结垃圾回收统计
命令:
jstat -gcutil 19570
结果:
![](https://blog.claves.cn/wp-content/uploads/2020/12/20201231100652_529287_978388-20190626151812251-1215752653.png)
解析:
![复制代码](https://common.cnblogs.com/images/copycode.gif)
S0:幸存1区当前使用比例 S1:幸存2区当前使用比例 E:伊甸园区使用比例 O:老年代使用比例 M:元数据区使用比例 CCS:压缩使用比例 YGC:年轻代垃圾回收次数 FGC:老年代垃圾回收次数 FGCT:老年代垃圾回收消耗时间 GCT:垃圾回收消耗总时间
![复制代码](https://common.cnblogs.com/images/copycode.gif)
12>JVM编译方法统计
命令:
jstat -printcompilation 19570
结果:
![](https://blog.claves.cn/wp-content/uploads/2020/12/20201231100653_754485_978388-20190626152508156-923381547.png)
解析:
Compiled:最近编译方法的数量 Size:最近编译方法的字节码数量 Type:最近编译方法的编译类型。 Method:方法名标识。
=======================