Java jstat:OGC和;OC、PGC&;个人计算机

Java jstat:OGC和;OC、PGC&;个人计算机,java,garbage-collection,jstat,Java,Garbage Collection,Jstat,我正在学习jstat,以及它可以告诉我JVM的不同代。据我所知,新世代由伊甸园、s0和s1组成。例如,如果您对以下内容进行计算,您会看到NGC=EC+S0C+S1C。好东西 $ jstat -gccapacity -t 21830 5000 Timestamp NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC PGCMN PGCMX

我正在学习jstat,以及它可以告诉我JVM的不同代。据我所知,新世代由伊甸园、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(所有OC)

一个gen可以包含多个空格

然而,老一代只有1个空间(年轻一代有3个:伊甸园、s0和s1), jstat为它们显示相同的值

什么是OC和OGC

jdk/src/share/classes/sun/tools/jstat/resources/jstat\u options

我得到

OGC=sun.gc.generation.1.容量

  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"
  }
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代中有多少空格

运行下面的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()
您可以对GEN.2(PERM GEN)执行相同的操作