Java 禁用JVM调试的JMap

Java 禁用JVM调试的JMap,java,debugging,memory-leaks,Java,Debugging,Memory Leaks,我可以使用jmap在禁用调试的JVM上创建java内存堆吗?如果是,如何使用?要使用jmap,您只需要一个JVMID,它是要转储的JVM的进程标识符 首先使用jps获取JVMID。 然后使用jmap将堆转储到文件中 例如: jmap -dump:format=b,file=heap.bin <JVMID> jmap-dump:format=b,file=heap.bin (您知道visualvm,并且它可以连接到正在运行的Java进程?需要Sun Java 6)尝试时会发生什么?您

我可以使用jmap在禁用调试的JVM上创建java内存堆吗?如果是,如何使用?

要使用
jmap
,您只需要一个JVMID,它是要转储的JVM的进程标识符

首先使用
jps
获取JVMID。 然后使用
jmap
将堆转储到文件中

例如:

jmap -dump:format=b,file=heap.bin <JVMID>
jmap-dump:format=b,file=heap.bin

(您知道visualvm,并且它可以连接到正在运行的Java进程?需要Sun Java 6)

尝试时会发生什么?您需要以运行Java应用程序的用户身份运行jmap。请注意,仅以root用户身份运行是不够的。