# GCOverheadLimit does not work ?

Peter B. Kessler Peter.Kessler at Sun.COM
Mon Jun 9 11:28:45 PDT 2008

```There's

product(uintx, GCHeapFreeLimit, 2,                                        \
"Minimum percentage of free space after a full GC before an "     \
"OutOfMemoryError is thrown (used with GCTimeLimit)")             \

But I have to say that I've never gotten it to behave the way I
thought it worked.

... peter

David Tavoularis wrote:

> Hi Jon,
>
> I would like to understand the computation of the percentage for the following Full GC example :
>
> 57587.994: [Full GC [PSYoungGen: 262144K->260978K(317184K)] [PSOldGen: 1310719K->1310719K(1310720K)] 1572863K->1571698K(1627904K) [PSPermGen: 17242K->17242K(20480K)]
> Heap after GC :
> PSYoungGen      total 317184K, used 260978K (eden=262144K, from=OK (out of 55040K))
> PSOldGen        total 1310720K, used 1310719K
> PSPermGen       total 20480K, used 17242K
>
> So the percentage is computed like this : ((317184K-260978K)+(1310720K-1310719K)+(20480K-17242K))/(317184K+1310720K+20480K)=59445K/1648384K=3.6% > 2%
>
> The fix would be to compute it like this : ((262144K-260978K)+(1310720K-1310719K)+(20480K-17242K))/(317184K+1310720K+20480K)=4405K/1648384K=0.3% < 2%
>
>
>
> Is there a WA to this issue ?
>
> 1. Is is possible to change by property the percentage from 2% to 5% ?
>
> 2. Maybe I could reduce the young size from 256MB to 128MB, and it will automatically reduce (?) the survivor from 55040K to 27520K ? And the percentage would be in this case 1.9% and the OOM would be triggered.
>
>