首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jstat: OGC和OC、PGC和PC的区别

jstat: OGC和OC、PGC和PC的区别
EN

Stack Overflow用户
提问于 2012-06-28 21:38:58
回答 1查看 2.3K关注 0票数 10

我正在学习jstat,以及它能告诉我关于JVM不同代的信息。从jstat文档我了解到新一代是由伊甸园,s0和s1组成的。例如,如果对以下内容进行计算,就会看到NGC = EC + S0C + S1C。很棒的东西。

代码语言:javascript
复制
$ 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))和
  • 主管(现有旧空间容量(KB))。

同样地,也适用于:

  • PGC (当前永久发电能力(KB))和
  • 当前永久空间容量(KB)。

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

编辑:我不认为有什么不同,但我会留下这个问题,以防万一。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-31 05:51:00

我只是从jdk的源代码中寻找

简而言之:OGC = sum(all OC)

一个gen可能包含多个空格。

然而,只有一个空格(年轻的gen有3: eden、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

代码语言:javascript
复制
  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"
  }

GEN.1中的几个空间

运行下面的groovy代码来检查

代码语言:javascript
复制
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()

产出如下:

代码语言:javascript
复制
Y count :3
O count :1

你也可以为GEN.2 (烫发一代)做同样的事情

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11253285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档