On Fri, 17 Jun 2022 07:02:47 GMT, Yi Yang <yy...@openjdk.org> wrote: >> It seems that calculation of >> MemoryMXBean.getNonHeapMemoryUsage(jmm_GetMemoryUsage) is wrong. >> >> Currently, >> `NonHeapUsage=CodeCache+Metaspace(ClassTypeSpace+NonClassTypeSpace)+CompressedClassSpace(ClassTypeSpace)` >> >> ==> CodeHeap 'non-nmethods' 1532544 (Used) >> ==> CodeHeap 'profiled nmethods' 0 >> ==> CodeHeap 'non-profiled nmethods' 13952 >> ==> Metaspace 506696 >> ==> Compressed Class Space 43312 >> init = 7667712(7488K) used = 2096504(2047K) committed = 8454144(8256K) max = >> -1(-1K) >> >> In this way, getNonHeapMemoryUsage is larger than it ought to be, it should >> be `NonHeapUsage = CodeCache + Metaspace`. > > Yi Yang has updated the pull request incrementally with one additional commit > since the last revision: > > address Ioi's comments; fix LowMemoryTest2.sh failure
Looks good, but see inline question. test/jdk/java/lang/management/MemoryMXBean/LowMemoryTest2.sh line 74: > 72: # we would have committed the space right away and therefore the > MemoryMXBean "committed" trigger > 73: # would have fired. In the new Metaspace, we don't commit, so the > MemoryMXBean does not fire. > 74: go -noclassgc -XX:MaxMetaspaceSize=4m LowMemoryTest2 Why did you reduce the MaxMetaspaceSize? (Should probably be okay post JEP-387, but how does it relate to your change?) ------------- PR: https://git.openjdk.org/jdk/pull/8831