要获取JVM内存快照,可以使用以下两种方法:
使用JDK提供的jmap
命令。在命令行中执行以下命令:
jmap -dump:format=b,file=<文件名> <进程ID>
其中,<文件名>
是保存内存快照的文件名,<进程ID>
是目标JVM进程的ID。执行完该命令后,将会生成一个二进制文件,即为JVM的内存快照。
使用JDK提供的jcmd
命令。在命令行中执行以下命令:
jcmd <进程ID> GC.heap_dump <文件名>
其中,<进程ID>
是目标JVM进程的ID,<文件名>
是保存内存快照的文件名。执行完该命令后,将会生成一个hprof文件,即为JVM的内存快照。
无论是使用jmap
还是jcmd
,都需要确保JDK的bin
目录已经添加到系统的环境变量中。另外,获取内存快照会影响JVM的性能,因此建议在非生产环境下进行操作。