TenuringThreshold being adaptive when UseAdaptiveSizePolicy is off

Jon Masamitsu jon.masamitsu at oracle.com
Mon Mar 9 18:27:16 UTC 2015


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/44ea6f0f/attachment.htm>


More information about the hotspot-gc-dev mailing list