Native memory perspective

The native memory perspective provides information about the native memory usage of the process and system being monitored.

Native memory is the memory provided to the application process by the operating system. The memory is used for heap storage and other purposes. The native memory information available in the native memory perspective view varies by platform but typically includes the following information:
Table 1. Memory information values
Name Description
Free Physical Memory The amount of physical memory (RAM) free on the monitored system.
Process Physical Memory The amount of physical memory (RAM) currently in use by the monitored process. On some platforms, this memory is called resident storage or the working set.
Process Private Memory The amount of memory used exclusively by the monitored process. This memory is not shared with other processes on the system.
Process Virtual Memory Total process address space used.
Note: On the AIX® operating system, only the private memory size for the monitored process is available.
More detailed discussions on understanding native memory usage for Java™ applications can be found in two developerWorks® articles: https://www.ibm.com/developerworks/java/library/j-nativememory-linux/ and https://www.ibm.com/developerworks/java/library/j-nativememory-aix/.
The perspective provides the following views.
Native memory usage
This view plots the process virtual memory and process physical memory on a graph. The information presented helps you to monitor the native memory usage by processes. By comparing this graph to the Used Heap graph in the garbage collection perspective, you can see whether the amount of memory used by an application is due to the size of the Java Heap or due to the memory allocated natively.
Runtime native memory
This view plots the native memory use of the items in the selected row of the runtime native memory breakdown table.
Native memory table
This view displays a table containing the latest, minimum, and maximum values for all the available native memory information. You can use this table to see the most recent memory usage information for your monitored application.
Runtime native memory breakdown table
This table shows the breakdown of the areas of the JVM that are using native memory. If you select a row in the table, that entry is shown as a graph of memory use over time, in the JVM native memory view. The table contains the following columns:
Table 2. Memory breakdown table columns
Name Description
Allocated Deep The number of objects allocated for that area and all of its children.
Allocated Shallow The number of objects allocated for that area only.
Bytes Deep The actual memory use for that area and all of its children.
Bytes Shallow The actual memory use for that area only.