mirror of
https://github.com/openjdk/jdk.git
synced 2026-02-17 05:45:05 +00:00
8155570: serviceability/tmtools/jstat/GcTest02.java fails with parallel GC
Reviewed-by: jwilhelm
This commit is contained in:
parent
82d31a04f7
commit
4a49bb6284
@ -31,7 +31,6 @@ import utils.*;
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* @library /test/lib
|
||||
* @library ../share
|
||||
* @ignore 8155570
|
||||
* @run main/othervm -XX:+UsePerfData -Xmx128M -XX:MaxMetaspaceSize=128M GcTest02
|
||||
*/
|
||||
|
||||
|
||||
@ -50,7 +50,7 @@ public class GcProvokerImpl implements GcProvoker {
|
||||
used += memoryChunk;
|
||||
} catch (OutOfMemoryError e) {
|
||||
list = null;
|
||||
throw new RuntimeException("Unexpected OOME while eating " + targetUsage + " of heap memory.");
|
||||
throw new RuntimeException("Unexpected OOME '" + e.getMessage() + "' while eating " + targetUsage + " of heap memory.");
|
||||
}
|
||||
}
|
||||
return list;
|
||||
@ -73,8 +73,10 @@ public class GcProvokerImpl implements GcProvoker {
|
||||
|
||||
@Override
|
||||
public void eatMetaspaceAndHeap(float targetMemoryUsagePercent) {
|
||||
eatenMemory = eatHeapMemory(targetMemoryUsagePercent);
|
||||
// Metaspace should be filled before Java Heap to prevent unexpected OOME
|
||||
// in the Java Heap while filling Metaspace
|
||||
eatenMetaspace = eatMetaspace(targetMemoryUsagePercent);
|
||||
eatenMemory = eatHeapMemory(targetMemoryUsagePercent);
|
||||
}
|
||||
|
||||
private static List<Object> eatMetaspace(float targetUsage) {
|
||||
@ -97,7 +99,7 @@ public class GcProvokerImpl implements GcProvoker {
|
||||
list.add(gp.create(0));
|
||||
} catch (OutOfMemoryError oome) {
|
||||
list = null;
|
||||
throw new RuntimeException("Unexpected OOME while eating " + targetUsage + " of Metaspace.");
|
||||
throw new RuntimeException("Unexpected OOME '" + oome.getMessage() + "' while eating " + targetUsage + " of Metaspace.");
|
||||
}
|
||||
MemoryUsage memoryUsage = metaspacePool.getUsage();
|
||||
currentUsage = (((float) memoryUsage.getUsed()) / memoryUsage.getMax());
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user