基本情况
jmap(JVM Memory Map):作用一方面是获取dump文件(堆转储快照文件,二进制文件),它还可以获取目标Java进程的内存相关信息,包括Java堆各区域的使用情况、堆中对象的统计信息、类加载信息等。
开发人员可以在控制台输入命令"jmap -help"查阅jmap工具的具体使用方式和一些标准选项配置。
基本语法
它的基本使用语法为:
- jmap [option] <pid>
- jmap [option] <executable> <core>
- jmap [option] [server_id@]<remote server IP or hostname>
其中option包括:
dump
生成Java堆转储快照:dump文件
特别的:-dump:live只保存堆中的存活对象heap
输出整个堆空间的详细信息,包括GC的使用、堆配置信息,以及内存的使用信息等histo
输出堆中对象的统计信息,包括类、实例数量和合计数量
特别的:-histo:live只统计堆中的存货对象- permstat
以ClassLoader为统计口径输出永久代的内存状态信息
仅linux/solaris平台有效 - finalizerinfo
显示在F-Queue中等待Finalizer线程执行finalize方法的对象
仅linux/solaris平台有效 - -F
当虚拟机进程对-dump选项没有任何响应时,可使用此选项强制执行生成dump文件
仅linux/solaris平台有效 - -h|-help
jmap工具使用的帮助命令 - J <flag>
传递参数给jmap启动的jvm