RFR: 8284900: Check InitialHeapSize and container memory limits before startup [v4]
Ioi Lam
iklam at openjdk.java.net
Tue Apr 19 05:25:26 UTC 2022
On Tue, 19 Apr 2022 02:15:24 GMT, xpbob <duke at openjdk.java.net> wrote:
>> Check InitialHeapSize and container memory limits before startup
>>
>>
>> Operating System Metrics:
>> Provider: cgroupv1
>> Effective CPU Count: 8
>> CPU Period: 100000us
>> CPU Quota: -1
>> CPU Shares: -1
>> List of Processors, 8 total:
>> 0 1 2 3 4 5 6 7
>> List of Effective Processors: N/A
>> List of Memory Nodes, 1 total:
>> 0
>> List of Available Memory Nodes: N/A
>> Memory Limit: 50.00M
>> Memory Soft Limit: Unlimited
>> Memory & Swap Limit: 60.00M
>> Maximum Processes Limit: 4194305
>>
>> command:-Xms60m -XshowSettings:system -version
>>
>>
>>
>>
>> When the memory limit is exceeded, the startup fail with message
>>
>>
>>
>> Error occurred during initialization of VM
>> Initial heap size set to a larger value than the container memory & swap limit
>
> xpbob has updated the pull request incrementally with one additional commit since the last revision:
>
> Multiplexing data
src/hotspot/share/gc/shared/gcArguments.cpp line 137:
> 135: if ((memswBytes > 0) && FLAG_IS_CMDLINE(InitialHeapSize) && (InitialHeapSize >= (julong) memswBytes)) {
> 136: vm_exit_during_initialization("Initial heap size set to a larger value than the container memory & swap limit");
> 137: }
I noticed one more problem. InitialHeapSize is usually not set in the command-line. So the condition should be changed to the following to avoid unnecessary calls.
if (OSContainer::is_containerized() && FLAG_IS_CMDLINE(InitialHeapSize)) { ...
-------------
PR: https://git.openjdk.java.net/jdk/pull/8256
More information about the hotspot-gc-dev
mailing list