jstat:OGC&OC,PGC和PC之间的区别(jstat: difference between

2019-06-25 21:19发布

我了解jstat什么,它能告诉我关于JVM的不同世代。 从该jstat文档我理解的新创是由伊甸园,S0和S1。 例如,如果你做数学题的下面,可以看到NGC = EC + S0C + S1C。 好东西。

$ jstat -gccapacity -t 21830 5000
Timestamp        NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX           OGC         OC      PGCMN    PGCMX     PGC       PC     YGC    FGC 
       248767.4   2624.0  87360.0   6656.0  640.0  640.0   5376.0     5376.0   174784.0    12840.0    12840.0  21248.0 131072.0  34304.0  34304.0    457    73
       248772.4   2624.0  87360.0   6656.0  640.0  640.0   5376.0     5376.0   174784.0    12840.0    12840.0  21248.0 131072.0  34304.0  34304.0    457    73
       248777.3   2624.0  87360.0   6656.0  640.0  640.0   5376.0     5376.0   174784.0    12840.0    12840.0  21248.0 131072.0  34304.0  34304.0    457    73

我不知道有什么区别:

  • OGC(现在的老一代容量(KB))和
  • OC(当前旧空间容量(KB))。

同样地,对于:

  • PGC(当前常驻发电容量(KB))和
  • PC(现任常任空间容量(KB))。

每对具有相同的价值,至少对我来说,现在。 有老一代有史以来任何旧空间的旁边?


编辑:我不认为是有区别的,但我会为了以防万一离开了这个问题。

Answer 1:

我刚刚从JDK源寻求

总之: OGC = sum(all OC)

一个根可以包含多个空格。

然而,旧的热点根只有1个空间(年轻代有三:伊甸园,S0和S1),jstat显示了他们同样的价值。

什么是OC和OGC

jdk/src/share/classes/sun/tools/jstat/resources/jstat_options

我有

OGC = sun.gc.generation.1.capacity

OC = sun.gc.generation.1.space.0.capacity

  column {
    header "^OGC^"  /* Old Generation Capacity - Current */
    data sun.gc.generation.1.capacity
    scale K
    align right
    width 11
    format "0.0"
  }
  column {
    header "^OC^"   /* Old Space Capacity - Current */
    data sun.gc.generation.1.space.0.capacity
    scale K
    align right
    width 11
    format "0.0"
  }

多少空格IN GEN.1

运行下面Groovy代码检查

import java.lang.management.ManagementFactory
import sun.jvmstat.monitor.*;

name = ManagementFactory.runtimeMXBean.name
pid  = name[0..<name.indexOf('@')]
vmId = new VmIdentifier(pid)
vm   = MonitoredHost.getMonitoredHost(vmId).getMonitoredVm(vmId, 0)

println 'Y count :' + vm.findByName('sun.gc.generation.0.spaces').longValue()
println 'O count :' + vm.findByName('sun.gc.generation.1.spaces').longValue()

输出是:

Y count :3
O count :1

您可以GEN.2做同样的(PERM GEN)



文章来源: jstat: difference between OGC & OC, PGC & PC