Uh oh!
There was an error while loading. Please reload this page.
Allow user to specify independent heap hard limits for different object heaps. - #37166
Conversation
ghost
commented
May 29, 2020
Tagging subscribers to this area: @Maoni0 |
Maoni0
commented
May 29, 2020
if POH is supposed to be 0, you'll need to make sure for large pages, the POH segments are not allocated with large pages. that's in |
Maoni0
commented
May 29, 2020
I would suggest to change the env vars in your commit's description to
the casing is important on linux. another thing is we should also support percentages like hardlimit. |
Uh oh!
There was an error while loading. Please reload this page.
5634f20 to
fa5cc3cComparefa5cc3c to
c755c4cComparec755c4c to
31c1687CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
d49691f to
904d856Compare904d856 to
f671b0dCompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
f671b0d to
fa5579fCompare
With the per object heap committed memory tracking available (#36731), now we can provide the configuration switches so that the user can specify exactly how much they want to limit per object heap.
Here are the rules:
If the user specifies any one of the
COMPLUS_GCHeapHardLimitSOH,COMPLUS_GCHeapHardLimitLOHorCOMPLUS_GCHeapHardLimitPOH, he or she must also specify the others (with the exception ofCOMPLUS_GCHeapHardLimitPOH, which is allowed to be unspecified and assume a default value of 0).If the user did not specifies any one of the
COMPLUS_GCHeapHardLimitSOH,COMPLUS_GCHeapHardLimitLOHorCOMPLUS_GCHeapHardLimitPOH, then we considerCOMPLUS_GCHeapHardLimitSOHPercent,COMPLUS_GCHeapHardLimitLOHPercentorCOMPLUS_GCHeapHardLimitPOHPercent. These are the percentage equivalents of the above. A value of 1 for COMPLUS_GCHeapHardLimitSOH means we will use 1% of total physical memory for SOH. An additional validation rule is that these percentages should not less than or equal to 0, or greater than or equal to 100. The sum of them should not be greater than or equal to 100 as well.COMPLUS_GCHeapHardLimitis also specified, then it will be ignored. Any allocation that is done by the GC which is not associated with any object heaps (such as the card table) will not be checked against any limit. (It is assumed that they are insignificant compared with user objects).I haven't tested it thoroughly yet. I will make sure I include large page in my tests.