RFR(S) 8054546: NMT2 leaks memory
Zhengyu Gu
zhengyu.gu at oracle.com
Wed Aug 13 15:34:40 UTC 2014
New native memory tracking implementation tries to baseline memory into
an arena. Unfortunately, the class "ReservedMemoryRegion" contains
"CommittedMemoryRegion" which is C-heap object. When the baseline is
discarded, reset arena memory does not invoke ReservedMemoryRegion's
dtor, as the result, embedded committed memory regions are leaked.
The solution is to move memory baseline back to C-heap memory, and
ensure ReservedMemoryRegion's dtor does get invoked.
Bug:https://bugs.openjdk.java.net/browse/JDK-8054546
<https://bugs.openjdk.java.net/browse/JDK-8054546>
Webrev: http://cr.openjdk.java.net/~zgu/8054546/webrev.00/
<http://cr.openjdk.java.net/%7Ezgu/8054546/webrev.00/>
Test:
Ran SwingSet2.jar with "-XX:NativeMemoryTracking=detail". Used jcmd
to baseline memory and do detail comparison. No memory leak was found.
Thanks,
-Zhengyu
More information about the hotspot-runtime-dev
mailing list