Heap dumps
Who is holding the memory, and why it is still alive
Open an .hprof file, or send one straight from Objects on the heap, and the APM server analyses it — the parsing happens there, not on your desktop. The Dominator tree shows what each object owns: what only it keeps alive, biggest first, where retained is what would be freed if it went.
Why is it alive? walks the path from a GC root to the object, field by field, with weak, soft and phantom references left out unless you ask for them, the root's kind spelled out — a local variable on a thread's stack, a class the JVM itself keeps loaded — and any static field on the way named. Compare sets a dump beside an earlier one: what grew, where the growth is held, and what shrank.
- Overview
- Leak suspects
- Dominator tree
- Biggest objects
- Classes
- Loaders
- Off-heap
- Configuration
- Compare
- Findings