我想找出为什么Elasticsearch节点上的JVM堆使用率一直保持在80%以上。为此,我通过运行命令来获取一个堆转储
jmap.exe -heap:format=b 5348
(5348是进程ID)。然后我可以使用VisualVM分析转储。
问题在于jmap在获取转储时会暂停JVM,因此节点基本上会下线约5分钟。
这篇文章提出了一种更快的方法,依赖于在Linux上使用gdb进行核心转储。我已经尝试过WinDbg,它创建了一个核心转储,但我无法在VisualVM中使用它。
Windows是否有类似的方法?如何在几秒钟内获取堆转储,而不是几分钟?