jmx-dev RFR 8020467: Inconsistency between usage.getUsed() and isUsageThresholdExceeded() with CMS Old Gen pool
Jaroslav Bachorik
jaroslav.bachorik at oracle.com
Thu Oct 24 07:01:43 PDT 2013
Hi Mandy,
On 24.10.2013 01:02, Mandy Chung wrote:
>
> On 10/23/2013 7:32 AM, Jaroslav Bachorik wrote:
>> I've updated the patch. The GC is called even before the first attempt
>> to get the pool memory usage and System.gc() is used to perform GC (no
>> MXBean checks). This should simplify the change a bit.
>>
>> http://cr.openjdk.java.net/~jbachorik/8020467/webrev.02
>
> This change is okay. It will force GC once per each memory pool that
> supports usage threshold (I think 3 memory pools) which is not a huge
> issue. Perhaps a more reliable option is to make it an othervm test and
> allocating large object and calling GC once before the verification.
Running it as othervm might improve repeatbility but I don't quite
follow the trick with large object. That would be effective for the
oldgen pools only, I suppose? There were concerns raised during the
review that other pools might be susceptible to the same timing related
problems (theoretically). So, if you don't feel strongy about it I would
leave the rest of the test as it is - that is calling System.gc() before
checking the pool thresholds.
-JB-
>
> Mandy
More information about the serviceability-dev
mailing list