JDK-8028541 : Native Memory Tracking enhancement
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 7u40,8,9
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2013-11-18
  • Updated: 2017-05-19
  • Resolved: 2014-07-15
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 9
9Resolved
Related Reports
Blocks :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Relates :  
Relates :  
Relates :  
Sub Tasks
JDK-8048886 :  
Description
Current Native Memory Tracking implementation does not scale well with large app, especially during class loading phase. There are two major issues:

1. Book keeping records consume a lot of memory, especially when large app loads a lot of classes that generate a lot of symbols (each symbol is individually malloc'd)

2.  Worker thread may not be able to handle the workload. When that happens, unprocessed book keeping records can consume a large amount of additional memory.

Due to above problems, Native Memory Tracking system trends to shut itself down when it is needed the most.

This RFE is intended to fix the scalability issues in original NMT implementation. 
Comments
8042469 must be pushed in some coordinated fashion with this bug. This notation is mainly a notation that the launcher work is complete and waiting.
02-07-2014

Changing to Bug because tests are failing in Nightly.
10-06-2014

Adding rules to match Nightly failures as know: RULE runtime/NMT/JcmdScale.java Exception java.lang.RuntimeException: 'KB, committed=' missing from stdout/stderr RULE runtime/NMT/MallocTestType.java Exception java.lang.RuntimeException: 'Test (reserved=512KB, committed=512KB)' missing from stdout/stderr RULE runtime/NMT/ShutdownTwice.java Exception java.lang.RuntimeException: 'Shutdown is in progress, it will take a few moments to completely shutdown' missing from stdout/stderr RULE runtime/NMT/SummaryAfterShutdown.java Exception java.lang.RuntimeException: 'Shutdown is in progress, it will take a few moments to completely shutdown' missing from stdout/stderr RULE runtime/NMT/ThreadedMallocTestType.java Exception java.lang.RuntimeException: 'Test (reserved=896KB, committed=896KB)' missing from stdout/stderr RULE runtime/NMT/ThreadedVirtualAllocTestType.java Exception java.lang.RuntimeException: 'Test (reserved=512KB, committed=0KB)' missing from stdout/stderr RULE runtime/NMT/VirtualAllocTestType.java Exception java.lang.RuntimeException: 'Test (reserved=256KB, committed=0KB)' missing from stdout/stderr
10-06-2014