RFR: 8332514: Allow class space size to be larger than 3GB [v2]
Thomas Stuefe
stuefe at openjdk.org
Fri May 31 07:15:04 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
Anyone else? I would like to get this into 23, and the patch is not complex. Thanks!
-------------
PR Comment: https://git.openjdk.org/jdk/pull/19347#issuecomment-2141366040
More information about the hotspot-runtime-dev
mailing list