TenuringThreshold being adaptive when UseAdaptiveSizePolicy is off

Jon Masamitsu jon.masamitsu at oracle.com
Tue Mar 10 06:07:19 UTC 2015


On 3/9/2015 10:39 PM, Jungwoo Ha wrote:
> We were investigating some features and figured out that 
> ParallelScavange and ParNew has different TenuringTreshold heuristics.
> We thought it would be nice to have a flag that can control the 
> adaptiveness, so that we can fix it on purpose to isolate other 
> performance factors.

Do you use UsePSAdaptiveSurvivorSizePolicy to turn off the
survivor space resizing and tenuring threshold adaptiveness
for ParallelGC?

Jon

> --Jungwoo
>
> On Mon, Mar 9, 2015 at 11:27 AM, Jon Masamitsu 
> <jon.masamitsu at oracle.com <mailto:jon.masamitsu at oracle.com>> wrote:
>
>     Jungwoo,
>
>     On 03/06/2015 06:03 PM, Jungwoo Ha wrote:
>>     I think it is the same for all JDK{7,8,9}.
>>
>>     arguments.cpp disabled UseAdaptiveSizePolicy for CMS.
>>     parallel scavange initializes _tenuring_threshold with
>>       _tenuring_threshold = (UseAdaptiveSizePolicy) ?
>>     InitialTenuringThreshold : MaxTenuringThreshold;
>>     whereas CMS uses
>>       _tenuring_threshold = MaxTenuringThreshold;
>>
>>     adjust_desired_tenuring_threshold() is called inside
>>     ParNewGeneration::collect(), which calls compute_tenuring_threshold.
>>     It only uses MaxTenuringThreshold and TargetSurvivorRatio.
>>     I don't see any other flags here.
>
>     Yes, this is the intended behavior.
>
>     You're saying we're sometimes wasting survivor space?
>
>     Jon
>
>>
>>     On Fri, Mar 6, 2015 at 4:28 PM, Jon Masamitsu
>>     <jon.masamitsu at oracle.com <mailto:jon.masamitsu at oracle.com>> wrote:
>>
>>         This is in jdk9?
>>
>>         Jon
>>
>>
>>         On 3/6/2015 4:21 PM, Jungwoo Ha wrote:
>>
>>             On CMS when UseAdaptiveSizePolicy is off, still
>>             tenuring_threshold is being changed.
>>             Is this an intended behavior?
>>             (yes. I know it is not "size" related heuristics)
>>
>>             It would be nice to have a flag that can disable
>>             adjusting tenuring threshold,
>>             or at least set minimum threshold. When the default
>>             heuristics doesn't work,
>>             there are nothing much we can do other than changing the Max.
>>
>>             --Jungwoo
>>
>>
>>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20150309/3ddd8493/attachment.htm>


More information about the hotspot-gc-dev mailing list