RFR: 8287135: Calculation of jmm_GetMemoryUsage is wrong
Thomas Stuefe
stuefe at openjdk.java.net
Fri May 27 07:27:49 UTC 2022
On Fri, 27 May 2022 06:22:36 GMT, Ioi Lam <iklam at openjdk.org> wrote:
> > The basic problem is that we have two non-heap pools:
> >
> > * `MetaspacePool`
> >
> > * consists of `ClassType` and `NonClassType` parts
> > * `CompressedKlassSpacePool`
> >
> > but the `CompressedKlassSpacePool` is actually the "ClassType" part of the `MetaspacePool`!
> > I think the right fix is to just convert the `MetaspacePool` into `NonClassMetaspacePool` and only report the non-class values.
> > AFAICS this will only be visible via the MXBean.
>
> When CDS is enabled, the CompressedKlassSpacePool actually contains more than Klass objects. It can contain other metadata such as Method, ConstantPool, etc. So calling these pools "class" and "non-class" is not 100% correct.
>
> Is there any reason for separating the CompressedKlassSpacePool from other metadata? I know in the past it was possible to run out of spaces in CompressedKlassSpace, so there might be a reason to monitor it separately?
Yes, you can run out of Class space separately from Metaspace.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8831
More information about the hotspot-runtime-dev
mailing list