Table 2-1 describes native memory categories used by NMT. These categories may change with the release.
Table 2-1 Native Memory Tracking Memory Categories
| Category | Description | 
|---|---|
| Java Heap | The heap where your objects live | 
| Class | Class meta data | 
| Code | Generated code | 
| GC | data use by the GC, such as card table | 
| Compiler | Memory used by the compiler when generating code | 
| Symbol | Symbols | 
| Memory Tracking | Memory used by NMT itself | 
| Pooled Free Chunks | Memory used by chunks in the arena chunk pool | 
| Shared space for classes | Memory mapped to class data sharing archive | 
| Thread | Memory used by threads, including thread data structure, resource area and handle area and so on. | 
| Thread stack | Thread stack. It is marked as committed memory, but it might not be completely committed by the OS | 
| Internal | Memory that does not fit the previous categories, such as the memory used by the command line parser, JVMTI, properties and so on. | 
| Unknown | When memory category can not be determined. Arena: When arena is used as a stack or value object Virtual Memory: When type information has not yet arrived |