How to take a heap dump in windows with minimum downtime?

Viewed 4693

I want to figure out why JVM heap usage on Elasticsearch node is staying consistently above 80%. In order to do this, I take a heap dump by running

jmap.exe -heap:format=b 5348

(5348 is the Process ID). Then I can analyze the dump with VisualVM.

The problem is that jmap pauses the JVM while taking the dump, so the node is basically offline for around 5 minutes.

This article suggests a faster approach that relies on taking coredump with gdb on Linux. I already tried WinDbg, which created a core dump, but I couldn't use it in VisualVM.

Is there a similar approach for Windows? How one can take heap dumps in seconds, not minutes?

1 Answers
Related