一、Java内存映像工具(jmap)的概述二、Java内存映像工具(jmap)的作用三、Java内存映像工具(jmap)的格式及参数说明四、Java内存映像工具(jmap)的执行样例 一、Java内存映像工具(jmap)的概述
jmap(Memory Map for Java)命令用于生成堆转储快照(一般称为headdump或dump文件)。如果不使用jmap命令,要想获取Java堆转储快照,通过-XX:+HeadDumpOnOutOfMemoryError参数,可以让虚拟机在OOM异常出现之后自动生成dump文件。通过-XX:+HeadDumpOnCtrlBreak参数则可以使用【Ctrl】+【Break】键让虚拟机生成dump文件。在linux系统下通过kill -3命令发送进程退出信号“吓唬”一下虚拟机,也能拿到dump文件。 二、Java内存映像工具(jmap)的作用
读取dump文件。查询finalize执行队列。查询java堆和永久代的详细信息,如空间使用率、当前用的是哪种收集器。 三、Java内存映像工具(jmap)的格式及参数说明
格式
jmap [ option ] vmid
参数说明
执行查看进程号命令
jps
生成Java堆转储快照命令
jmap -dump:format=b,file=d:a.bin 16688
截图如下: