Visit Azul.com Support

Native Memory Tracking

Looking for Zing? The Azul Zing Virtual Machine is now Azul Zulu Prime Builds of OpenJDK and part of Azul Platform Prime. Learn more.

The Native Memory Tracking (NMT) functionality is available since Azul Platform Prime 16.01.0.0. It includes invocation of Memory-tracking functions to record allocations. It also introduces the use of NativeMemoryTracking pre-header to each allocation (when the feature is enabled).

To enable Native Memory Tracking, use the following command-line options:

 
java -XX:+PrintNMTStatistics -XX:NativeMemoryTracking="summary"

The "summary" level of tracking provides basic information about the following native memory allocations:

  • JavaHeap – amount of the native memory allocated for the Java Heap. The committed portion displays the Xmx value.

  • Class – amount of the native memory allocated for the application classes

  • Thread – amount of the native memory allocated for the application threads

  • Code – amount of the native memory allocated for the code is being executed

  • GC – amount of the native memory used by the Garbage Collector

  • Compiler – amount of the native memory allocated for the compiler operations

  • Internal – internal allocations

  • Symbol – amount of the native memory allocated for the table of symbols

  • Native Memory Tracking – amount of the native memory used for the NMT processes

  • Arena Chunk – allocations for the arena-managed chunk

  • Arguments – amount of the native memory allocated for processing arguments

  • Unknown – unspecified allocations

Below is a screen capture of a sample NMT output.

NTM output