< prev index next >

test/serviceability/tmtools/jstat/GcCauseTest02.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2015, 2016, 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 29,59 **** * jstat should show that ~70% of heap (OC/OU ~= 70%). * @requires vm.opt.ExplicitGCInvokesConcurrent != true * @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 */ import utils.*; public class GcCauseTest02 { private final static float targetMemoryUsagePercent = 0.7f; public static void main(String[] args) throws Exception { // We will be running "jstat -gc" tool JstatGcCauseTool jstatGcTool = new JstatGcCauseTool(ProcessHandle.current().getPid()); // Run once and get the results asserting that they are reasonable 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); // Collect garbage. Also update VM statistics System.gc(); JstatGcCauseResults measurement2 = jstatGcTool.measure(); measurement2.assertConsistency(); --- 29,59 ---- * jstat should show that ~70% of heap (OC/OU ~= 70%). * @requires vm.opt.ExplicitGCInvokesConcurrent != true * @modules java.base/jdk.internal.misc * @library /test/lib * @library ../share ! * @run main/othervm -XX:+UsePerfData -XX:NewSize=4m -XX:InitialHeapSize=128M -XX:MaxHeapSize=128M -XX:MaxMetaspaceSize=128M GcCauseTest02 */ import utils.*; public class GcCauseTest02 { private final static float targetMemoryUsagePercent = 0.7f; 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()); // Run once and get the results asserting that they are reasonable JstatGcCauseResults measurement1 = jstatGcTool.measure(); measurement1.assertConsistency(); // Eat metaspace and heap then run the tool again and get the results asserting that they are reasonable ! gp.allocateMetaspaceAndHeap(); // Collect garbage. Also update VM statistics System.gc(); JstatGcCauseResults measurement2 = jstatGcTool.measure(); measurement2.assertConsistency();
< prev index next >