27 import jdk.test.lib.Utils;
28
29 import javax.management.InstanceNotFoundException;
30 import javax.management.MBeanException;
31 import javax.management.MBeanServer;
32 import javax.management.MalformedObjectNameException;
33 import javax.management.ObjectName;
34 import javax.management.ReflectionException;
35 import java.lang.management.ManagementFactory;
36 import java.util.LinkedList;
37 import java.util.List;
38 import java.util.Random;
39
40
41 /**
42 * @test TestUnifiedLoggingSwitchStress
43 * @summary Switches gc log level on fly while stressing memory/gc
44 * @key gc
45 * @key stress
46 * @requires !vm.flightRecorder
47 * @library /testlibrary /test/lib /
48 * @modules java.management java.base/jdk.internal.misc
49 *
50 * @run main/othervm -Xmx256M -Xms256M
51 * gc.logging.TestUnifiedLoggingSwitchStress 60
52 */
53
54 class MemoryStresser implements Runnable {
55 public static volatile boolean shouldStop = false;
56
57 private final List<byte[]> liveObjects = new LinkedList<>();
58 private final List<byte[]> liveHObjects = new LinkedList<>();
59 private int maxSimpleAllocationMemory = 0;
60 private int usedMemory = 0;
61
62 /**
63 * Maximum amount of huge allocations
64 */
65 private static int H_ALLOCATION_MAX_COUNT = 4;
66 /**
67 * Maximum regions in one huge allocation
|
27 import jdk.test.lib.Utils;
28
29 import javax.management.InstanceNotFoundException;
30 import javax.management.MBeanException;
31 import javax.management.MBeanServer;
32 import javax.management.MalformedObjectNameException;
33 import javax.management.ObjectName;
34 import javax.management.ReflectionException;
35 import java.lang.management.ManagementFactory;
36 import java.util.LinkedList;
37 import java.util.List;
38 import java.util.Random;
39
40
41 /**
42 * @test TestUnifiedLoggingSwitchStress
43 * @summary Switches gc log level on fly while stressing memory/gc
44 * @key gc
45 * @key stress
46 * @requires !vm.flightRecorder
47 * @library /test/lib /
48 * @modules java.management java.base/jdk.internal.misc
49 *
50 * @run main/othervm -Xmx256M -Xms256M
51 * gc.logging.TestUnifiedLoggingSwitchStress 60
52 */
53
54 class MemoryStresser implements Runnable {
55 public static volatile boolean shouldStop = false;
56
57 private final List<byte[]> liveObjects = new LinkedList<>();
58 private final List<byte[]> liveHObjects = new LinkedList<>();
59 private int maxSimpleAllocationMemory = 0;
60 private int usedMemory = 0;
61
62 /**
63 * Maximum amount of huge allocations
64 */
65 private static int H_ALLOCATION_MAX_COUNT = 4;
66 /**
67 * Maximum regions in one huge allocation
|