It maybe only happens with G1, but I don't think there is a guarantee that mbean.gc() will always cause all "freed" objects to be reclaimed. By allowing for the heap usage to be the same both before and after mbean.gc() I was hoping to make the test more stable.
But perhaps someone from the GC side can comment on what the guarantees are for mbean.gc() (which calls Runtime.gc() which calls JVM_GC() which does Universe::heap()->collect(GCCause::_java_lang_system_gc)) ? Thanks, /Staffan On 15 aug 2013, at 21:41, Mandy Chung <mandy.ch...@oracle.com> wrote: > Hi Staffan, > > Is this issue specific to G1 such as mbean.gc() doesn't collect the "freed" > obj? The test wants to verify the peak usage won't change when GC frees up > some space. > > Mandy > > On 8/15/2013 12:05 PM, Staffan Larsen wrote: >> Please review this small update to the test. The fix allows for no change in >> heap usage to happen during a GC. >> >> webrev: http://cr.openjdk.java.net/~sla/8023101/webrev.00/ >> bug: http://bugs.sun.com/view_bug.do?bug_id=8023101 (not available yet) >> jbs: https://jbs.oracle.com/bugs/browse/JDK-8023101 >> >> Thanks, >> /Staffan >