打印进程、核心文件或远程调试服务器的共享对象内存映射或堆内存详细信息。此命令是实验性的,不受支持。
概要
jmap [ options ] pid
jmap [ options ] executable core
jmap [ options ] [ pid ] server-id@ ] remote-hostname-or-IP
options
命令行选项。请参阅Options。
pid
要为其打印内存映射的进程 ID。该进程必须是 Java 进程。要获取机器上运行的 Java 进程的列表,请使用jps(1)命令。
executable
生成核心转储的 Java 可执行文件。
core
要为其打印内存映射的核心文件。
remote-hostname-or-IP
远程调试服务器hostname或IP地址。见jsadebugd(1)。
server-id
当多个调试服务器在同一远程主机上运行时使用的可选唯一 ID。
描述
该jmap命令打印指定进程、核心文件或远程调试服务器的共享对象内存映射或堆内存详细信息。如果指定的进程在 64 位 Java 虚拟机 (JVM) 上运行,则您可能需要指定该-J-d64选项,例如:jmap -J-d64 -heap pid.
注意:此实用程序不受支持,并且可能在 JDK 的未来版本中不可用。在dbgeng.dll文件不存在的 Windows 系统上,必须安装 Windows 调试工具才能使这些工具正常工作。PATH环境变量应包含目标进程使用的文件的jvm.dll位置或生成故障转储文件的位置,例如:set PATH=%JDK_HOME%\jre\bin\client;%PATH%.
选项
如果未使用任何选项,该jmap命令将打印共享对象映射。对于目标 JVM 中加载的每个共享对象,都会打印共享对象文件的起始地址、映射大小和完整路径。此行为类似于 Oracle Solarispmap实用程序。
-dump:[live,] format=b, file=filename
hprof以二进制格式将 Java 堆转储到filename. 子选项是可选的live,但指定时,仅转储堆中的活动对象。要浏览堆转储,可以使用jhat(1)命令读取生成的文件。
-finalizerinfo
打印有关等待完成的对象的信息。
-heap
打印所使用的垃圾收集、头配置和按代堆使用情况的堆摘要。此外,还打印了内部字符串的数量和大小。
-histo[:live]
打印堆的直方图。对于每个 Java 类,将打印对象的数量、内存大小(以字节为单位)和完全限定的类名。JVM 内部类名以星号 (*) 前缀打印。如果live指定了子选项,则只计算活动对象。
-clstats
打印 Java 堆的类加载器统计信息。对于每个类加载器,它的名称、它的活跃程度、地址、父类加载器以及它已加载的类的数量和大小都会被打印出来。
-F
强制。当 pid 没有响应时,将此选项与jmap -dump 或者jmap -histo一起使用。live模式不支持子选项。
-H
打印帮助消息。
-help
打印帮助消息。
-Jflag
传递flag给运行命令的 Java 虚拟机jmap。
See Also
- jhat(1)
- jps(1)
- jsadebugd(1)