< prev index next >
test/jdk/jdk/internal/platform/docker/MetricsMemoryTester.java
Print this page
@ rev 57734 : Review feedback
|
o rev 57733 : 8231111: Cgroups v2: Rework Metrics in java.base so as to recognize unified hierarchy
| Reviewed-by: bobv, mchung
~
@@ -21,10 +21,11 @@
* questions.
*/
import java.util.Arrays;
import jdk.internal.platform.Metrics;
+import jdk.internal.platform.MetricsCgroupV1;
public class MetricsMemoryTester {
public static void main(String[] args) {
System.out.println(Arrays.toString(args));
switch (args[0]) {
@@ -105,18 +106,24 @@
}
System.out.println("TEST PASSED!!!");
}
private static void testKernelMemoryLimit(String value) {
+ Metrics m = Metrics.systemMetrics();
+ if (m instanceof MetricsCgroupV1) {
+ MetricsCgroupV1 mCgroupV1 = (MetricsCgroupV1)m;
+ System.out.println("TEST PASSED!!!");
long limit = getMemoryValue(value);
- long kmemlimit = Metrics.systemMetrics().getKernelMemoryLimit();
+ long kmemlimit = mCgroupV1.getKernelMemoryLimit();
if (kmemlimit != 0 && limit != kmemlimit) {
throw new RuntimeException("Kernel Memory limit not equal, expected : ["
+ limit + "]" + ", got : ["
+ kmemlimit + "]");
}
- System.out.println("TEST PASSED!!!");
+ } else {
+ throw new RuntimeException("oomKillFlag test not supported for cgroups v2");
+ }
}
private static void testMemoryAndSwapLimit(String memory, String memAndSwap) {
long expectedMem = getMemoryValue(memory);
long expectedMemAndSwap = getMemoryValue(memAndSwap);
@@ -144,11 +151,19 @@
}
return result;
}
private static void testOomKillFlag(boolean oomKillFlag) {
- if (!(oomKillFlag ^ Metrics.systemMetrics().isMemoryOOMKillEnabled())) {
+ Metrics m = Metrics.systemMetrics();
+ if (m instanceof MetricsCgroupV1) {
+ MetricsCgroupV1 mCgroupV1 = (MetricsCgroupV1)m;
+ Boolean expected = Boolean.valueOf(oomKillFlag);
+ Boolean actual = mCgroupV1.isMemoryOOMKillEnabled();
+ if (!(expected.equals(actual))) {
throw new RuntimeException("oomKillFlag error");
}
System.out.println("TEST PASSED!!!");
+ } else {
+ throw new RuntimeException("oomKillFlag test not supported for cgroups v2");
+ }
}
}
< prev index next >