United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6995781 RFE: Native Memory Tracking (Phase 1)
JDK-6995781 : RFE: Native Memory Tracking (Phase 1)

Details
Type:
Enhancement
Submit Date:
2010-10-28
Status:
Closed
Updated Date:
2013-06-26
Project Name:
JDK
Resolved Date:
2012-07-14
Component:
hotspot
OS:
generic
Sub-Component:
runtime
CPU:
generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
8-pool
Fixed Versions:
hs24 (b16)

Related Reports
Backport:
Backport:
Backport:
Backport:
Relates:
Relates:
Relates:

Sub Tasks

Description
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.

                                    

Comments
EVALUATION

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

http://hg.openjdk.java.net/hsx/hotspot-emb/hotspot/rev/d2a62e0f25eb
                                     
2012-07-14
Feature verified by NMT tests developed according to test plan
                                     
2013-06-12
EVALUATION

Phase one implementaiton related documentation can be found here:
http://wiki.se.oracle.com/display/JPG/JVM+Runtime+Team
                                     
2012-03-26



Hardware and Software, Engineered to Work Together