< prev index next >
test/hotspot/jtreg/runtime/Metaspace/PrintMetaspaceDcmd.java
Print this page
rev 60818 : imported patch jep387-test.patch
@@ -25,33 +25,72 @@
import jdk.test.lib.process.ProcessTools;
import jdk.test.lib.process.OutputAnalyzer;
import jdk.test.lib.JDKToolFinder;
/*
- * @test
+ * @test id=test-64bit-ccs
* @summary Test the VM.metaspace command
- * @requires vm.gc != "Z" & vm.bits != "32"
+ * @requires vm.bits == "64"
* @library /test/lib
* @modules java.base/jdk.internal.misc
* java.management
* @run main/othervm -XX:MaxMetaspaceSize=201M -Xmx100M -XX:+UseCompressedOops -XX:+UseCompressedClassPointers PrintMetaspaceDcmd with-compressed-class-space
+ */
+
+/*
+ * @test id=test-64bit-ccs-noreclaim
+ * @summary Test the VM.metaspace command
+ * @requires vm.bits == "64"
+ * @library /test/lib
+ * @modules java.base/jdk.internal.misc
+ * java.management
+ * @run main/othervm -XX:MaxMetaspaceSize=201M -Xmx100M -XX:+UseCompressedOops -XX:+UseCompressedClassPointers -XX:MetaspaceReclaimPolicy=none PrintMetaspaceDcmd with-compressed-class-space
+ */
+
+/*
+ * @test id=test-64bit-ccs-aggressivereclaim
+ * @summary Test the VM.metaspace command
+ * @requires vm.bits == "64"
+ * @library /test/lib
+ * @modules java.base/jdk.internal.misc
+ * java.management
+ * @run main/othervm -XX:MaxMetaspaceSize=201M -Xmx100M -XX:+UseCompressedOops -XX:+UseCompressedClassPointers -XX:MetaspaceReclaimPolicy=aggressive PrintMetaspaceDcmd with-compressed-class-space
+ */
+
+/*
+ * @test id=test-64bit-ccs-guarded
+ * @summary Test the VM.metaspace command
+ * @requires vm.bits == "64"
+ * @requires vm.debug == true
+ * @library /test/lib
+ * @modules java.base/jdk.internal.misc
+ * java.management
+ * @run main/othervm -XX:MaxMetaspaceSize=201M -Xmx100M -XX:+UseCompressedOops -XX:+UseCompressedClassPointers -XX:+MetaspaceGuardAllocations PrintMetaspaceDcmd with-compressed-class-space
+ */
+
+/*
+ * @test id=test-64bit-noccs
+ * @summary Test the VM.metaspace command
+ * @requires vm.bits == "64"
+ * @library /test/lib
+ * @modules java.base/jdk.internal.misc
+ * java.management
* @run main/othervm -XX:MaxMetaspaceSize=201M -Xmx100M -XX:-UseCompressedOops -XX:-UseCompressedClassPointers PrintMetaspaceDcmd without-compressed-class-space
*/
+
/*
- * @test
+ * @test test-32bit
* @summary Test the VM.metaspace command
- * @requires vm.gc != "Z" & vm.bits == "32"
+ * @requires vm.bits == "32"
* @library /test/lib
* @modules java.base/jdk.internal.misc
* java.management
* @run main/othervm -XX:MaxMetaspaceSize=201M -Xmx100M PrintMetaspaceDcmd without-compressed-class-space
*/
public class PrintMetaspaceDcmd {
- // Run jcmd VM.metaspace against a VM with CompressedClassPointers on.
- // The report should detail Non-Class and Class portions separately.
private static void doTheTest(boolean usesCompressedClassSpace) throws Exception {
ProcessBuilder pb = new ProcessBuilder();
OutputAnalyzer output;
// Grab my own PID
String pid = Long.toString(ProcessTools.getProcessId());
@@ -85,27 +124,30 @@
output.shouldMatch("CLD.*<bootstrap>");
pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace", "by-chunktype"});
output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(0);
- output.shouldContain("specialized:");
- output.shouldContain("small:");
- output.shouldContain("medium:");
- output.shouldContain("humongous:");
+ output.shouldContain("1k:");
+ output.shouldContain("2k:");
+ output.shouldContain("4k:");
+ output.shouldContain("8k:");
+ output.shouldContain("16k:");
+ output.shouldContain("32k:");
+ output.shouldContain("64k:");
+ output.shouldContain("128k:");
+ output.shouldContain("256k:");
+ output.shouldContain("512k:");
+ output.shouldContain("1m:");
+ output.shouldContain("2m:");
+ output.shouldContain("4m:");
pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace", "vslist"});
output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(0);
output.shouldContain("Virtual space list");
output.shouldMatch("node.*reserved.*committed.*used.*");
- pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace", "vsmap"});
- output = new OutputAnalyzer(pb.start());
- output.shouldHaveExitValue(0);
- output.shouldContain("Virtual space map:");
- output.shouldContain("HHHHHHHHHHH");
-
// Test with different scales
pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace", "scale=G"});
output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(0);
output.shouldMatch("MaxMetaspaceSize:.*0.2.*GB");
< prev index next >