【发布时间】:2017-05-24 11:48:22
【问题描述】:
我正在尝试使用 jstat 分析带有 G1 垃圾收集器的 Java 进程的内存使用模式:
jstat -gc <Process_ID> 60s
输出如下所示:
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
0.0 229376.0 0.0 229376.0 1998848.0 1253376.0 16646144.0 301183.5 50176.0 40977.8 8704.0 5303.9 10 0.296 0 0.000 0.296
据了解,jstat 提供有关年轻代 GC 和 Full GC 的信息。但它不区分 Minor 和 Mixed 集合。考虑到在经过良好调整的 G1 收集器中,不需要 Full GC,并且大多数情况下 Mixed GC 负责处理 Tenured 代,我想获取有关不同类型 YGC 的信息。
我应该使用 jstat 的任何特定选项吗?
我在 Open JDK 论坛上注意到了this discussion,但不确定目前是否有这样的功能。
请注意,我知道 GC 日志可以帮助我,但我对 jstat 特别感兴趣(考虑到它重量轻,可以根据需要用于生产)。
【问题讨论】:
-
GC 日志也应该足够轻量级以供生产使用。