--- old/test/serviceability/tmtools/jstat/GcCauseTest02.java 2017-01-13 14:21:30.264899444 +0300 +++ new/test/serviceability/tmtools/jstat/GcCauseTest02.java 2017-01-13 14:21:30.136899443 +0300 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,7 +31,7 @@ * @modules java.base/jdk.internal.misc * @library /test/lib * @library ../share - * @run main/othervm -XX:+UsePerfData -XX:InitialHeapSize=128M -XX:MaxHeapSize=128M -XX:MaxMetaspaceSize=128M GcCauseTest02 + * @run main/othervm -XX:+UsePerfData -XX:NewSize=4m -XX:InitialHeapSize=128M -XX:MaxHeapSize=128M -XX:MaxMetaspaceSize=128M GcCauseTest02 */ import utils.*; @@ -41,6 +41,8 @@ public static void main(String[] args) throws Exception { + GarbageProducer gp = new GarbageProducer(targetMemoryUsagePercent); + // We will be running "jstat -gc" tool JstatGcCauseTool jstatGcTool = new JstatGcCauseTool(ProcessHandle.current().getPid()); @@ -48,10 +50,8 @@ JstatGcCauseResults measurement1 = jstatGcTool.measure(); measurement1.assertConsistency(); - GcProvoker gcProvoker = new GcProvoker(); - // Eat metaspace and heap then run the tool again and get the results asserting that they are reasonable - gcProvoker.allocateAvailableMetaspaceAndHeap(targetMemoryUsagePercent); + gp.allocateMetaspaceAndHeap(); // Collect garbage. Also update VM statistics System.gc(); JstatGcCauseResults measurement2 = jstatGcTool.measure();