Memory dump analysis

Dynatrace can store and analyze memory dumps for Java, .NET, and Node.js based applications. Memory dumps are first stored locally on the disk of the monitored application-server machine. OneAgent can subsequently upload the memory dumps automatically to an ActiveGate, which can act as a long-term storage center for memory dumps.

This approach ensures that memory dumps are only available to users who have access to the network location of your ActiveGate. This precaution provides an additional security layer to ensure that no personal data leaves your data center unless you configured it that way.

Memory dump page

Before you begin

Trigger memory dumps

To trigger a memory dump

  1. Navigate to the Memory dumps page:

    • On the page of the entity that you want to analyze, select the Browse [] button and select Memory dump details.
    • In the Dynatrace menu, go to Profiling and optimization > Memory dumps.
  2. Select the process you want to analyze and select Trigger new dump to generate a new memory dump.
    It takes a few minutes to generate a memory dump. The time required varies widely based on application type. Java applications that have multiple GBs of heap memory may take several minutes; smaller dumps are available almost immediately.

    Java

    Dynatrace uses the JVM Tool Interface (JVM TI) to generate memory dumps. For this reason, your JVM may stall during memory-dump generation. Please restart your Java-based application following trigger of a memory dump.

  3. After a few minutes, refresh the page. The newly created dump now appears in the list.

Download and view memory dumps

  1. Navigate to the Memory dumps page:
    • On the page of the entity that you want to analyze, select the Browse [] button and select Memory dump details.
    • In the Dynatrace menu, go to Profiling and optimization > Memory dumps.
  2. Expand your memory dump record.
  3. From the Download link list, select the ActiveGate from where you want to download the memory dump.
  4. Select Download.

In the case of Java applications, the download provides the memory dump in hprof format, which can be analyzed using a number of tools, including Eclipse Memory analyzer and VisualVM. The IBM JVM doesn't support hprof, but its own format called IBM Portable Heap Dump (PHD). This can also be analyzed by the Eclipse Memory analyzer.

Node.js memory dumps can be opened in Google Chrome's integrated memory heap snapshot analysis tool.

.NET memory dumps can be opened in PerfView or Visual Studio.

Frequently asked questions

If I enable memory dump analysis on multiple ActiveGates, which ActiveGate will perform the memory dump?
ActiveGates have a priority assigned automatically. If there is more than one ActiveGate with the same priority, an endpoint will be selected randomly.

What happens if a file transfer to an ActiveGate fails?
OneAgent attempts to send the dump list to all available endpoints until it finds one that works. This process is retried until it's successful or until the dumps are deleted by aging tasks (for example, if there are too many or if they are too old).

What happens if ActiveGate runs out of space for memory dumps?
ActiveGate will first delete outdated dumps. If there are no outdated dumps, ActiveGate will delete the oldest dumps first.