JDK-6995781 : RFE: Native Memory Tracking (Phase 1)
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 8-pool
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2010-10-28
  • Updated: 2017-05-16
  • Resolved: 2012-07-14
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7 JDK 8 Other
7u40Fixed 8Fixed hs24Fixed
Related Reports
Relates :  
Relates :  
NMT = Native Memory Tracking

NMT Phase 1 tracks native memory allocations by the JVM itself

An initial approach to NMT Phase 1 includes:
1. Import Doug Lea's malloc to hotspot
2. Utilize mspace to "group" different types of objects
3. Further marking object types using spare bits in malloc header
4. Implement callsite statistics and per chunk callsite tracking (JRockit memory tracking feature)
5. Disable/Enable locking
6. mspace cleanup
Phrase 1 only tracks VM native memory usage. There are a few design changes vs. documented in description section:

1. No malloc library is imported, contine using platform's malloc implementation.
2. Native memory tracking is implemented on top of all current VM memory management systems.

Feature verified by NMT tests developed according to test plan

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-emb/hotspot/rev/d2a62e0f25eb

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/d2a62e0f25eb