Relates :
|
|
Relates :
|
|
Relates :
|
After change 8226575: OperatingSystemMXBean should be made container aware we observe failures on linux s390x / ppc64le in the docker related jtreg test containers/docker/TestMemoryAwareness.java The test runs into java.lang.RuntimeException: 'OperatingSystemMXBean.getTotalSwapSpaceSize: 52428800' missing from stdout/stderr at jdk.test.lib.process.OutputAnalyzer.shouldContain(OutputAnalyzer.java:187) at TestMemoryAwareness.testOperatingSystemMXBeanAwareness(TestMemoryAwareness.java:154) at TestMemoryAwareness.main(TestMemoryAwareness.java:65) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127) at java.base/java.lang.Thread.run(Thread.java:832) Reason is that the value found is instead : OperatingSystemMXBean.getTotalSwapSpaceSize: -104857600 When looking into the getTotalSwapSpaceSize() function, we get values of 0 for "limit" and 104857600 for "memLimit" : 57 long limit = containerMetrics.getMemoryAndSwapLimit(); .... 62 long memLimit = containerMetrics.getMemoryLimit(); 63 if (limit >= 0 && memLimit >= 0) { 64 return limit - memLimit; 65 } That explains the value "-104857600" . We see messages that "Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap" , this most likely causes the unexpected limit == 0 .
|