JSTAT:OGC & OC、PGC & PC 之间的区别



我正在学习jstat以及它可以告诉我关于JVM不同世代的信息。从 jstat 文档中,我知道新一代由 eden、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))。

每对都有相同的价值,至少对我来说,现在是这样。除了旧空间之外,老一辈人还有什么吗?


编辑:我认为没有区别,但我会留下这个问题以防万一。

我只是从 jdk 源代码中寻找

总之: OGC = sum(all OC)

一个世代可以包含多个空格。

但是,热点老世代只有1个空间(年轻一代有3个:伊甸园,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"
  }

第 1 代中有多少个空格

运行下面的时髦代码进行检查

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) 做同样的事情

相关内容

  • 没有找到相关文章

最新更新