You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中old space与old generation的区别及jstat指标解析

jstat -gcoldcapacity 中 OGC 与 OC 的区别解析

先看你给出的jstat -gcoldcapacity命令输出:

$ jstat -gcoldcapacity 57208
   OGCMN        OGCMX         OGC           OC       YGC    FGC    FGCT     CGC    CGCT       GCT   
         0.0    1048576.0     717824.0     717824.0    833     6     3.601   387    44.317    93.700

根据官方文档的定义:

  • OGC:当前Old Generation(老年代)的容量,单位为KB
  • OC:当前Old Space(老空间)的容量,单位为KB

核心区别

Old Generation是逻辑概念——它指代JVM分代GC模型中,专门存放经历多轮Young GC后仍存活对象的逻辑区域,通常只有Full GC时才会对它进行标记回收。

Old Space则是物理内存层面的对应区域,是JVM为老年代分配的实际内存块。

为何OpenJDK 21默认配置下两者数值一致?

在OpenJDK 21的默认GC配置(如G1GC)中,老年代的逻辑分区和对应的物理内存空间是一一绑定的,没有额外的内存细分、共享或动态拆分机制,因此两者的容量数值会完全相同。只有在一些特殊的GC配置或自定义内存布局场景下,才可能出现两者数值不一致的情况。

内容的提问来源于stack exchange,提问作者Basilevs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 08:27:34