Skip Navigation LinksHome » Product » Usage Scenarios » Deep-dive Application Diagnostics » Memory Leak Detection and Memory Diagnosis Detecting a memory leak using heap monitoring

Profile and analyze your Java and .NET application’s memory usage to easily detect and diagnose memory leaks, heavy garbage collector activity and high memory usage causing stability, performance and scalability problems using dynaTrace’s built-in application memory diagnosis features:

  • Heap Monitoring
  • Total Heap Dump
  • Selective Memory Dump
  • Monitor and analyze GarbageCollector (GC) runs

Monitor the memory heap usage 24x7 of your applications over time to understand trends early on, potentially detect memory leaks before they cause “out of memory” problems and correlate this information to response times.

Isolating the classes/objects causing the memory leak using a total heap dump

Automatically schedule and store "Total Heap Dumps" also based on incident (e.g., memory heap usage) to further isolate and diagnose memory issues and to understand object hierarchies down to individual objects including the memory consumption of entire object trees. Take multiple snapshots over time to understand the exact object types (classes) that are using too much memory and isolate the individual objects that directly or indirectly hold references to those objects that are responsible for the ever-growing memory usage.

Root cause analysis under full production load using a selective memory dump

Use automatically scheduled “Selective Memory Dumps” even under full production load where regular profilers cannot be used to proactively monitor the number of instances of critical classes and find out which methods have created them. This way, you can easily analyze if all references to these objects have been cleared as anticipated so that the Garbage Collector can free the memory once it is no longer needed. You also can correlate object instantiation with transaction execution (PurePath) to understand the user interaction causing the issue.

For example, you may determine that a specific “Purchase” transaction has allocated 5,000 "Product" objects, which are also referenced by another application component and thus their allocated memory has never been freed up, causing a memory leak that results in a long-term, cumulative stability issue.

Finally, memory diagnosis with dynaTrace allows you to relate GarbageCollector (GC) runs with individual PurePaths to diagnose GC impact on transaction performance (e.g. supsension diagnosis). This way you can precisely tell if a suddenly slow-running transaction is caused by infrequent GC activity that accidently affect the execution of this transaction or e.g. by a data-driven issue (unexpected user input).

Test Drive?

Contact

CAPM Whitepaper

Learn a new approach to APM and ensure application performance today!