如何记录并生成运行进程的JVM堆转储直到完成

问题描述 投票:0回答:1

基本上,我在linux机器上运行java进程并能够使用以下命令捕获JVM内存的堆转储,但我认为它可能不是正确的方法,因为我捕获堆的时间可能没有完整和正确的对象状态(它们可能仍在运行,因为进程仍在运行)。

所以我想知道如何进行完整流程执行的堆转储。现在我没有得到任何内存不足的问题,但麻烦射击找到哪些对象使用更高的内存或疑似泄漏。

jmap <pid> <filepathtogeneratedheap>
java jvm
1个回答
0
投票

实际上,对于运行进程,生成堆转储并不是一个好主意。我通过让JVM在抛出OutOfMemoryError时生成堆转储来解决这个问题

© www.soinside.com 2019 - 2024. All rights reserved.