Java GC 各个变量含义 和 jstat 命令的使用

前言
  • JDK版本 jdk1.8
    在这里插入图片描述
  • jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]
    在这里插入图片描述
1:变量解释
  1. S0C:年轻代中第一个survivor(幸存区)的容量 (kb)
  2. S1C:年轻代中第二个survivor(幸存区)的容量 (kb)
  3. S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (kb)
  4. S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (kb)
  5. EC:年轻代中Eden(伊甸园)的容量 (kb)
  6. EU:年轻代中Eden(伊甸园)目前已使用空间 (kb)
  7. OC:Old代的容量 (kb)
  8. OU:Old代目前已使用空间 (kb)
  9. PC:Perm(持久代)的容量 (kb)
  10. PU:Perm(持久代)目前已使用空间 (kb)
  11. CCS:压缩使用比例
  12. YGC:从应用程序启动到采样时年轻代中gc次数
  13. YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
  14. FGC:从应用程序启动到采样时old代(全gc)gc次数
  15. FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
  16. GCT:从应用程序启动到采样时gc用的总时间(s)
  17. NGCMN:年轻代(young)中初始化(最小)的大小 (kb)
  18. NGCMX:年轻代(young)的最大容量 (kb)
  19. NGC:年轻代(young)中当前的容量 (kb)
  20. OGCMN:old代中初始化(最小)的大小 (kb)
  21. OGCMX:old代的最大容量 (kb)
  22. OGC:old代当前新生成的容量 (kb)
  23. PGCMN:perm代中初始化(最小)的大小 (kb)
  24. PGCMX:perm代的最大容量 (kb)
  25. PGC:perm代当前新生成的容量 (kb)
  26. S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比
  27. S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比
  28. E:年轻代中Eden(伊甸园)已使用的占当前容量百分比
  29. O:old代已使用的占当前容量百分比
  30. P:perm代已使用的占当前容量百分比
  31. M:元数据区使用比例
  32. S0CMX:年轻代中第一个survivor(幸存区)的最大容量 (kb)
  33. S1CMX :年轻代中第二个survivor(幸存区)的最大容量 (kb)
  34. ECMX:年轻代中Eden(伊甸园)的最大容量 (kb)
  35. DSS:当前需要survivor(幸存区)的容量 (kb)(Eden区已满)
  36. TT: 持有次数限制
  37. MTT : 最大持有次数限制
2:jstat 查看 JVM 内存情况常用命令

2.1:新生代垃圾回收统计jstat -gcnew pid
在这里插入图片描述

  • S0C:年轻代中第一个survivor(幸存区)的容量 (kb)
  • S1C:年轻代中第二个survivor(幸存区)的容量 (kb)
  • S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (kb)
  • S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (kb)
  • TT:对象在新生代存活的次数
  • MTT:对象在新生代存活的最大次数
  • DSS:期望的幸存区大小,即当前需要survivor(幸存区)的容量 (kb)(Eden区已满)
  • EC:年轻代中Eden(伊甸园)的容量 (kb)
  • EU:年轻代中Eden(伊甸园)目前已使用空间 (kb)
  • YGC:从应用程序启动到采样时年轻代中gc次数
  • YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)

2.2:新生代内存统计jstat -gcnewcapacity pid
在这里插入图片描述

  • NGCMN:年轻代(young)中初始化(最小)的大小 (kb)
  • NGCMX:年轻代(young)的最大容量 (kb)
  • NGC:年轻代(young)中当前的容量 (kb)
  • S0CMX:年轻代中第一个survivor(幸存区)的最大容量 (kb)
  • S0C:年轻代中第一个survivor(幸存区)的当前容量 (kb)
  • S1CMX:年轻代中第二个survivor(幸存区)的最大容量 (kb)
  • S1C:年轻代中第二个survivor(幸存区)的当前容量 (kb
  • ECMX:年轻代中Eden(伊甸园)的最大容量 (kb)
  • EC:年轻代中Eden(伊甸园)的容量 (kb)
  • YGC:从应用程序启动到采样时年轻代中gc次数
  • FGC:从应用程序启动到采样时old代(全gc)gc次数

2.3:老年代垃圾回收统计jstat -gcold pid
在这里插入图片描述

  • MC:方法区的容量 (kb)
  • MU:方法区目前已使用空间 (kb)
  • CCSC:压缩类空间容量 (kb)
  • CCSU:压缩类已使用空间 (kb)
  • OC:Old代的容量 (kb)
  • OU:Old代目前已使用空间 (kb)
  • YGC:从应用程序启动到采样时年轻代中gc次数
  • FGC:从应用程序启动到采样时old代(全gc)gc次数
  • FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
  • GCT:从应用程序启动到采样时gc用的总时间(s)

2.4:老年代内存统计jstat -gcoldcapacity pid
在这里插入图片描述

  • OGCMN:old代中初始化(最小)的大小 (kb)
  • OGCMX:old代的最大容量 (kb)
  • OGC:old代当前新生成的容量 (kb)
  • OC:Old代的容量 (kb)
  • YGC:从应用程序启动到采样时年轻代中gc次数
  • FGC:从应用程序启动到采样时old代(全gc)gc次数
  • FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
  • GCT:从应用程序启动到采样时gc用的总时间(s)

2.5:堆内存统计jstat -gccapacity pid
在这里插入图片描述

  • NGCMN:年轻代(young)中初始化(最小)的大小 (kb)
  • NGCMX:年轻代(young)的最大容量 (kb)
  • NGC:年轻代(young)中当前的容量 (kb)
  • S0C:年轻代中第一个survivor(幸存区)的容量 (kb)
  • S1C:年轻代中第二个survivor(幸存区)的容量 (kb)
  • EC:年轻代中Eden(伊甸园)的容量 (kb)
  • OGCMN:old代中初始化(最小)的大小 (kb)
  • OGCMX:old代的最大容量 (kb)
  • OGC:old代当前新生成的容量 (kb)
  • OC:Old代的容量 (kb)
  • MCMN:最小元数据容量
  • MCMX:最大元数据容量
  • MC:当前元数据空间大小,即方法区的容量 (kb)
  • CCSMN:最小压缩类空间大小
  • CCSMX:最大压缩类空间大小
  • CCSC:压缩类空间容量 (kb)
  • YGC:从应用程序启动到采样时年轻代中gc次数
  • FGC:从应用程序启动到采样时old代(全gc)gc次数

2.6:垃圾回收统计jstat -gc pid
在这里插入图片描述

  • S0C:年轻代中第一个survivor(幸存区)的容量 (kb)
  • S1C:年轻代中第二个survivor(幸存区)的容量 (kb)
  • S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (kb)
  • S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (kb)
  • EC:年轻代中Eden(伊甸园)的容量 (kb)
  • EU:年轻代中Eden(伊甸园)目前已使用空间 (kb)
  • OC:Old代的容量 (kb)
  • OU:Old代目前已使用空间 (kb)
  • MC:当前元数据空间大小,即方法区的容量 (kb)
  • MU:方法区目前已使用空间 (kb)
  • CCSC:压缩类空间容量 (kb)
  • CCSU:压缩类已使用空间 (kb)
  • YGC:从应用程序启动到采样时年轻代中gc次数
  • YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
  • FGC:从应用程序启动到采样时old代(全gc)gc次数
  • FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
  • GCT:从应用程序启动到采样时old代(全gc)gc次数

2.7:gc总回收信息统计jstat -gcutil pid
在这里插入图片描述

  • S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比
  • S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比
  • E:年轻代中Eden(伊甸园)已使用的占当前容量百分比
  • O:old代已使用的占当前容量百分比
  • M:元数据区使用比例
  • CCS:压缩使用比例
  • YGC:从应用程序启动到采样时年轻代中gc次数
  • FGC:从应用程序启动到采样时old代(全gc)gc次数
  • FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
  • GCT:从应用程序启动到采样时gc用的总时间(s)

2.8:类加载统计jstat -class pid
在这里插入图片描述

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

2.9:VM实时编译统计jstat -compiler pid
在这里插入图片描述

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

2.10:元数据空间统计jstat -gcmetacapacity 31682
在这里插入图片描述

  • MCMN::最小元数据容量
  • MCMX:最大元数据容量
  • MC:当前元数据空间大小,即方法区的容量 (kb)
  • CCSMN:最小压缩类空间大小
  • CCSMX:最大压缩类空间大小
  • CCSC:压缩类空间容量 (kb)
  • YGC:从应用程序启动到采样时年轻代中gc次数
  • FGC:从应用程序启动到采样时old代(全gc)gc次数
  • FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
  • GCT:从应用程序启动到采样时gc用的总时间(s)

2.11:JVM当前编译方法统计jstat -printcompilation 31682
在这里插入图片描述

  • Compiled:最近编译方法的数量
  • Size:最近编译方法的字节码数量
  • Type:最近编译方法的编译类型。
  • Method:方法名标识。

文章来源: javalib.blog.csdn.net,作者:陈皮的JavaLib,版权归原作者所有,如需转载,请联系作者。

原文链接:javalib.blog.csdn.net/article/details/106018994

(完)