RFR: 8332514: Allow class space size to be larger than 3GB [v2]

Ioi Lam iklam at openjdk.org
Tue May 28 05:41:02 UTC 2024


On Mon, 27 May 2024 05:10:18 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:

>> Class space size is capped at 3GB. Technically, the Klass encoding range is 4GB.
>> 
>> We cap class space at 3GB to leave breathing room for CDS. However, CDS needs a lot less, so we waste address space. In addition, class space is unnecessarily capped at 3GB even if we run without CDS, which is unnecessary.
>> 
>> What we should do instead:
>> - if CDS is off, use the full 4GB
>> - if CDS is on, use as much memory as we can after accommodating the archive
>> 
>> This patch implements that new behavior. 
>> 
>> Now, we can have 4GB class space without CDS; with CDS, a bit less (depends on the CDS archive size; by default, on MacOS, we reach about 3.98GB).
>
> Thomas Stuefe has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:
> 
>  - Remarks Ioi
>  - Merge branch 'master' into JDK-8332514-Allow-class-space-size-to-be-larger-than-3GB-if-possible
>  - fix 32-bit (why is this not a 64-bit only option)
>  - JDK-8332514-Allow-class-space-size-to-be-larger-than-3GB-if-possible

LGTM. Thanks for making the changes.

-------------

Marked as reviewed by iklam (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/19347#pullrequestreview-2081782769


More information about the hotspot-runtime-dev mailing list