8292064: Convert java/lang/management/MemoryMXBean shell tests to java version
Reviewed-by: lmesnik, sspitsyn
This commit is contained in:
parent
fc1d94ef1a
commit
7ea9ba1f6c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2022, 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,6 +31,24 @@
|
||||
* is generated.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 4982128
|
||||
* @summary Test low memory detection of non-heap memory pool
|
||||
*
|
||||
* @run main/othervm/timeout=600 -noclassgc -XX:MaxMetaspaceSize=32m
|
||||
* LowMemoryTest2
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 4982128
|
||||
* @summary Test low memory detection of non-heap memory pool
|
||||
*
|
||||
* @run main/othervm/timeout=600 -noclassgc -XX:MaxMetaspaceSize=16m
|
||||
* -XX:CompressedClassSpaceSize=4m LowMemoryTest2
|
||||
*/
|
||||
|
||||
import java.lang.management.*;
|
||||
import javax.management.*;
|
||||
import javax.management.openmbean.CompositeData;
|
||||
|
@ -1,80 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 2004, 2019, 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.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
#
|
||||
# @test
|
||||
# @bug 4982128
|
||||
# @summary Test low memory detection of non-heap memory pool
|
||||
#
|
||||
# @requires vm.gc=="null"
|
||||
#
|
||||
# @run build LowMemoryTest2 MemoryUtil
|
||||
# @run shell/timeout=600 LowMemoryTest2.sh
|
||||
#
|
||||
|
||||
if [ ! -z "${TESTJAVA}" ] ; then
|
||||
JAVA=${TESTJAVA}/bin/java
|
||||
CLASSPATH=${TESTCLASSES}
|
||||
export CLASSPATH
|
||||
else
|
||||
echo "--Error: TESTJAVA must be defined as the pathname of a jdk to test."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Test execution
|
||||
|
||||
failures=0
|
||||
|
||||
go() {
|
||||
echo ''
|
||||
sh -xc "$JAVA $TESTVMOPTS $*" 2>&1
|
||||
if [ $? != 0 ]; then failures=`expr $failures + 1`; fi
|
||||
}
|
||||
|
||||
# Run test with each GC configuration
|
||||
#
|
||||
# Notes: To ensure that metaspace fills up we disable class unloading.
|
||||
# Also we set the max metaspace to 16MB/32MB - otherwise the test takes too
|
||||
# long to run. The 32MB setting is required for running with CDS archive.
|
||||
|
||||
go -noclassgc -XX:MaxMetaspaceSize=32m -XX:+UseSerialGC LowMemoryTest2
|
||||
go -noclassgc -XX:MaxMetaspaceSize=32m -XX:+UseParallelGC LowMemoryTest2
|
||||
|
||||
# Test class metaspace - might hit MaxMetaspaceSize instead if
|
||||
# UseCompressedClassPointers is off or if 32 bit.
|
||||
#
|
||||
# (note: This is very shaky and that shakiness exposes a problem with MemoryMXBean:
|
||||
#
|
||||
# MemoryMXBean defines "used" "committed" and "max" (see java/lang/management/MemoryUsage.java)
|
||||
# This abstraction misses a definition for "address space exhausted" which with the new Metaspace (jep387)
|
||||
# can happen before committed/used hits any trigger. We now commit only on demand and therefore class loaders
|
||||
# can sit atop of uncommitted address space, denying new loaders address space. In the old Metaspace,
|
||||
# we would have committed the space right away and therefore the MemoryMXBean "committed" trigger
|
||||
# would have fired. In the new Metaspace, we don't commit, so the MemoryMXBean does not fire.
|
||||
go -noclassgc -XX:MaxMetaspaceSize=16m -XX:CompressedClassSpaceSize=4m LowMemoryTest2
|
||||
|
||||
echo ''
|
||||
if [ $failures -gt 0 ];
|
||||
then echo "$failures test(s) failed";
|
||||
else echo "All test(s) passed"; fi
|
||||
exit $failures
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2022, 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
|
||||
@ -30,9 +30,26 @@
|
||||
*
|
||||
* @author Mandy Chung
|
||||
*
|
||||
* @requires vm.gc == null | vm.gc == "G1"
|
||||
*
|
||||
* @modules jdk.management
|
||||
* @build MemoryManagement MemoryUtil
|
||||
* @run main/othervm/timeout=600 -Xmn8m -XX:+IgnoreUnrecognizedVMOptions -XX:G1HeapRegionSize=1 -XX:-UseLargePages MemoryManagement
|
||||
*
|
||||
* @run main/othervm/timeout=600 -Xmn8m -XX:+IgnoreUnrecognizedVMOptions
|
||||
* -XX:G1HeapRegionSize=1 -XX:-UseLargePages MemoryManagement
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 4530538 6980984
|
||||
* @summary Basic unit test of memory management testing:
|
||||
* 1) setUsageThreshold() and getUsageThreshold()
|
||||
* 2) test low memory detection on the old generation.
|
||||
*
|
||||
* @author Mandy Chung
|
||||
*
|
||||
* @modules jdk.management
|
||||
*
|
||||
* @run main/timeout=600 MemoryManagement
|
||||
*/
|
||||
|
||||
import java.lang.management.*;
|
||||
|
@ -1,54 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 2003, 2015, 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.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
#
|
||||
# @test
|
||||
# @bug 4530538
|
||||
# @summary Run MemoryManagement test with parallel GC
|
||||
# @author Mandy Chung
|
||||
#
|
||||
# @requires vm.gc=="Parallel" | vm.gc=="null"
|
||||
#
|
||||
# @run build MemoryManagement
|
||||
# @run shell/timeout=600 MemoryManagementParallelGC.sh
|
||||
#
|
||||
|
||||
#Set appropriate jdk
|
||||
|
||||
if [ ! -z "${TESTJAVA}" ] ; then
|
||||
jdk="$TESTJAVA"
|
||||
else
|
||||
echo "--Error: TESTJAVA must be defined as the pathname of a jdk to test."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
runOne()
|
||||
{
|
||||
echo "runOne $@"
|
||||
$TESTJAVA/bin/java ${TESTVMOPTS} -classpath $TESTCLASSES $@ || exit 2
|
||||
}
|
||||
|
||||
# Test MemoryManagement with parallel collector
|
||||
runOne -XX:+UseParallelGC MemoryManagement
|
||||
|
||||
exit 0
|
@ -1,54 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 2003, 2015, 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.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
#
|
||||
# @test
|
||||
# @bug 4530538
|
||||
# @summary Run MemoryManagement test with serial GC
|
||||
# @author Mandy Chung
|
||||
#
|
||||
# @requires vm.gc=="Serial" | vm.gc=="null"
|
||||
#
|
||||
# @run build MemoryManagement
|
||||
# @run shell/timeout=600 MemoryManagementSerialGC.sh
|
||||
#
|
||||
|
||||
#Set appropriate jdk
|
||||
|
||||
if [ ! -z "${TESTJAVA}" ] ; then
|
||||
jdk="$TESTJAVA"
|
||||
else
|
||||
echo "--Error: TESTJAVA must be defined as the pathname of a jdk to test."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
runOne()
|
||||
{
|
||||
echo "runOne $@"
|
||||
$TESTJAVA/bin/java ${TESTVMOPTS} -classpath $TESTCLASSES $@ || exit 2
|
||||
}
|
||||
|
||||
# Test MemoryManagement with serial collector
|
||||
runOne -XX:+UseSerialGC MemoryManagement
|
||||
|
||||
exit 0
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2022, 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
|
||||
|
@ -1,58 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 2003, 2015, 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.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
#
|
||||
# @test
|
||||
# @bug 4530538
|
||||
# @summary
|
||||
# @author Mandy Chung
|
||||
#
|
||||
# @requires vm.gc=="Parallel" | vm.gc=="null"
|
||||
#
|
||||
# @run compile MemoryTest.java
|
||||
# @run shell MemoryTestAllGC.sh
|
||||
#
|
||||
|
||||
#Set appropriate jdk
|
||||
|
||||
if [ ! -z "${TESTJAVA}" ] ; then
|
||||
jdk="$TESTJAVA"
|
||||
else
|
||||
echo "--Error: TESTJAVA must be defined as the pathname of a jdk to test."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
runOne()
|
||||
{
|
||||
echo "runOne $@"
|
||||
$TESTJAVA/bin/java ${TESTVMOPTS} -classpath $TESTCLASSES $@ || exit 2
|
||||
}
|
||||
|
||||
# Test MemoryTest with default collector
|
||||
runOne MemoryTest 2 3
|
||||
|
||||
# Test MemoryTest with parallel scavenger collector
|
||||
runOne -XX:+UseParallelGC MemoryTest 2 3
|
||||
|
||||
|
||||
exit 0
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2022, 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
|
||||
@ -35,6 +35,8 @@
|
||||
*
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* java.management
|
||||
*
|
||||
* @run main Pending
|
||||
*/
|
||||
|
||||
import java.lang.management.*;
|
||||
|
@ -1,57 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 2003, 2019, 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.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
#
|
||||
# @test
|
||||
# @bug 4530538
|
||||
# @summary
|
||||
# @author Mandy Chung
|
||||
# @requires vm.gc=="null"
|
||||
# @modules java.base/jdk.internal.misc
|
||||
# java.management
|
||||
# @run compile Pending.java
|
||||
# @run shell PendingAllGC.sh
|
||||
#
|
||||
|
||||
#Set appropriate jdk
|
||||
|
||||
if [ ! -z "${TESTJAVA}" ] ; then
|
||||
jdk="$TESTJAVA"
|
||||
else
|
||||
echo "--Error: TESTJAVA must be defined as the pathname of a jdk to test."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
runOne()
|
||||
{
|
||||
echo "runOne $@"
|
||||
$TESTJAVA/bin/java ${TESTVMOPTS} -classpath $TESTCLASSES $@ || exit 2
|
||||
}
|
||||
|
||||
# Test Pending with default collector
|
||||
runOne Pending
|
||||
|
||||
# Test Pending with parallel scavenger collector
|
||||
runOne -XX:+UseParallelGC Pending
|
||||
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user