70 pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace"});
71 output = new OutputAnalyzer(pb.start());
72 output.shouldHaveExitValue(0);
73 if (usesCompressedClassSpace) {
74 output.shouldContain("Non-Class:");
75 output.shouldContain("Class:");
76 }
77 output.shouldContain("Virtual space:");
78 output.shouldContain("Chunk freelist");
79 output.shouldContain("Waste");
80 output.shouldMatch("MaxMetaspaceSize:.*201.00.*MB");
81
82 pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace", "show-loaders"});
83 output = new OutputAnalyzer(pb.start());
84 output.shouldHaveExitValue(0);
85 output.shouldMatch("CLD.*<bootstrap>");
86
87 pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace", "by-chunktype"});
88 output = new OutputAnalyzer(pb.start());
89 output.shouldHaveExitValue(0);
90 output.shouldContain("specialized:");
91 output.shouldContain("small:");
92 output.shouldContain("medium:");
93 output.shouldContain("humongous:");
94
95 pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace", "vslist"});
96 output = new OutputAnalyzer(pb.start());
97 output.shouldHaveExitValue(0);
98 output.shouldContain("Virtual space list");
99 output.shouldMatch("node.*reserved.*committed.*used.*");
100
101 pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace", "vsmap"});
102 output = new OutputAnalyzer(pb.start());
103 output.shouldHaveExitValue(0);
104 output.shouldContain("Virtual space map:");
105 output.shouldContain("HHHHHHHHHHH");
106
107 // Test with different scales
108 pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace", "scale=G"});
109 output = new OutputAnalyzer(pb.start());
110 output.shouldHaveExitValue(0);
111 output.shouldMatch("MaxMetaspaceSize:.*0.2.*GB");
112
113 pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace", "scale=K"});
114 output = new OutputAnalyzer(pb.start());
115 output.shouldHaveExitValue(0);
116 output.shouldMatch("MaxMetaspaceSize:.*205824.00 KB");
117
118 pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace", "scale=1"});
119 output = new OutputAnalyzer(pb.start());
120 output.shouldHaveExitValue(0);
121 output.shouldMatch("MaxMetaspaceSize:.*210763776 bytes");
122 }
123
124 public static void main(String args[]) throws Exception {
125 boolean testForCompressedClassSpace = false;
|
70 pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace"});
71 output = new OutputAnalyzer(pb.start());
72 output.shouldHaveExitValue(0);
73 if (usesCompressedClassSpace) {
74 output.shouldContain("Non-Class:");
75 output.shouldContain("Class:");
76 }
77 output.shouldContain("Virtual space:");
78 output.shouldContain("Chunk freelist");
79 output.shouldContain("Waste");
80 output.shouldMatch("MaxMetaspaceSize:.*201.00.*MB");
81
82 pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace", "show-loaders"});
83 output = new OutputAnalyzer(pb.start());
84 output.shouldHaveExitValue(0);
85 output.shouldMatch("CLD.*<bootstrap>");
86
87 pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace", "by-chunktype"});
88 output = new OutputAnalyzer(pb.start());
89 output.shouldHaveExitValue(0);
90 output.shouldContain("1k:");
91 output.shouldContain("2k:");
92 output.shouldContain("4k:");
93 output.shouldContain("8k:");
94 output.shouldContain("16k:");
95 output.shouldContain("32k:");
96 output.shouldContain("64k:");
97 output.shouldContain("128k:");
98 output.shouldContain("256k:");
99 output.shouldContain("512k:");
100 output.shouldContain("1m:");
101 output.shouldContain("2m:");
102 output.shouldContain("4m:");
103
104 pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace", "vslist"});
105 output = new OutputAnalyzer(pb.start());
106 output.shouldHaveExitValue(0);
107 output.shouldContain("Virtual space list");
108 output.shouldMatch("node.*reserved.*committed.*used.*");
109
110 // Test with different scales
111 pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace", "scale=G"});
112 output = new OutputAnalyzer(pb.start());
113 output.shouldHaveExitValue(0);
114 output.shouldMatch("MaxMetaspaceSize:.*0.2.*GB");
115
116 pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace", "scale=K"});
117 output = new OutputAnalyzer(pb.start());
118 output.shouldHaveExitValue(0);
119 output.shouldMatch("MaxMetaspaceSize:.*205824.00 KB");
120
121 pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.metaspace", "scale=1"});
122 output = new OutputAnalyzer(pb.start());
123 output.shouldHaveExitValue(0);
124 output.shouldMatch("MaxMetaspaceSize:.*210763776 bytes");
125 }
126
127 public static void main(String args[]) throws Exception {
128 boolean testForCompressedClassSpace = false;
|