G1 "to-space exhausted" causes used heap space to increase?

Simone Bordet simone.bordet at gmail.com
Tue Mar 3 07:16:56 UTC 2015


Jenny,

On Mon, Mar 2, 2015 at 11:45 PM, Yu Zhang <yu.zhang at oracle.com> wrote:
> I am starting a FAQ page, I added this question
> https://blogs.oracle.com/g1gc/
>
> 9. What is the recommended way to limit Eden size for g1?
>
>  The recommended way is to set  -XX:MaxGCPauseMillis.  G1 will adjust
> YoungGen size trying to meet the pause goal.  The Young gen size is between
> 5 to 60 percent of the heap size.  To control it further, you can use
> Experimental flags:
>
> -XX:+UnlockExperimentalVMOpt -XX:G1NewSizePercent=<5>
> -XX:G1MaxNewSizePercent=<60>.
>
>  G1 will pick up other settings, such as NewRatio, NewSize, MaxNewSize, -Xmn
>
> -Xmn: the same as NewSize=MaxNewSize
>
> only -XX:NewSize is set, the young gen size is between specified NewSize and
> G1MaxNewSizePercent
>
> only -XX:MaxNewSize is set, the young gen size is between specified
> G1NewSizePercent and MaxNewSize.
>
> Both  -XX:NewSize and  -XX:MaxNewSize are used, young gen will be between
> those 2 sizes.  But when heap size change, the young gen size will not
> change accordingly.
>
> If  -XX:NewRatio is used, the Young Gen size is heap size * newRatio.
> NewRatio is ignored if it is used with NewSize and MaxNewSize.

I take that all of these options disable ergonomics and therefore the
attempts of G1 to respect MaxGCPauseMillis ?
Or setting one or some of these will still make G1 try to respect
MaxGCPauseMillis ?

Thanks !

-- 
Simone Bordet
http://bordet.blogspot.com
---
Finally, no matter how good the architecture and design are,
to deliver bug-free software with optimal performance and reliability,
the implementation technique must be flawless.   Victoria Livschitz


More information about the hotspot-gc-use mailing list