19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 import jdk.test.lib.process.ProcessTools;
25 import jdk.test.lib.process.OutputAnalyzer;
26
27 /*
28 * @test MaxMetaspaceSizeTest
29 * @requires vm.bits == 64 & vm.opt.final.UseCompressedOops == true
30 * @bug 8087291
31 * @library /test/lib
32 * @run driver MaxMetaspaceSizeTest
33 */
34
35 public class MaxMetaspaceSizeTest {
36 public static void main(String... args) throws Exception {
37 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
38 "-Xmx1g",
39 "-XX:InitialBootClassLoaderMetaspaceSize=4195328",
40 "-XX:MaxMetaspaceSize=4195328",
41 "-XX:+UseCompressedClassPointers",
42 "-XX:CompressedClassSpaceSize=1g",
43 "--version");
44 OutputAnalyzer output = new OutputAnalyzer(pb.start());
45 output.shouldContain("MaxMetaspaceSize is too small.");
46 output.shouldNotHaveExitValue(0);
47 }
48 }
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 import jdk.test.lib.process.ProcessTools;
25 import jdk.test.lib.process.OutputAnalyzer;
26
27 /*
28 * @test MaxMetaspaceSizeTest
29 * @requires vm.bits == 64 & vm.opt.final.UseCompressedOops == true
30 * @bug 8087291
31 * @library /test/lib
32 * @run driver MaxMetaspaceSizeTest
33 */
34
35 public class MaxMetaspaceSizeTest {
36 public static void main(String... args) throws Exception {
37 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
38 "-Xmx1g",
39 "-XX:MaxMetaspaceSize=4K",
40 "-XX:+UseCompressedClassPointers",
41 "-XX:CompressedClassSpaceSize=1g",
42 "--version");
43 OutputAnalyzer output = new OutputAnalyzer(pb.start());
44 // We do not explicitly limit MaxMetaspaceSize to a lower minimum. User can get as low as he wants.
45 // However, you most certainly will hit either one of
46 // "OutOfMemoryError: Metaspace" or
47 // "OutOfMemoryError: Compressed class space"
48 output.shouldMatch("OutOfMemoryError.*(Compressed class space|Metaspace)");
49 output.shouldNotHaveExitValue(0);
50 }
51 }
|