How to Quickly Diagnose Java Memory Leaks with JProfiler and Heap Dumps
Learn how to export a live heap dump from a Java service, use JProfiler 9.x to open the .hprof file, identify large objects such as Zipkin's InMemoryReporterMetrics, and pinpoint memory leaks that can consume gigabytes of RAM.
Preface
Recently our company's old service suffered a memory leak that caused the service to become unresponsive. Here I share how I used JProfiler to quickly analyze the dump file.
1. Export dump
jmap -dump:live,format=b,file=/tmp/xxxx.hprof pid2. Dump analysis
First, install JProfiler, preferably version 9.x, which can be found online with an activation code.
After installation, the xxxx.hprof file will appear with the JProfiler icon.
Double‑click to open and view Bigger Objects. You can see that Zipkin's InMemoryReporterMetrics occupies about 1.8 GB of memory.
Right‑click to view detailed instance information:
Proceed to the next step:
View detailed instance:
The screenshots show that a large amount of Zipkin data reporting caused the memory overflow.
Conclusion
This article demonstrates using JProfiler to analyze heap snapshots; its graphical interface is simple, and interested readers can try it themselves.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Java Architecture Diary
Committed to sharing original, high‑quality technical articles; no fluff or promotional content.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
