基本情况
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 | 生成dump文件 |
-finalizerinfo | 以ClassLoader为统计口径输出永久代的内存状态信息 |
-heap | 输出整个堆空间的详细信息,包括GC的使用、堆配置信息,以及内存的使用信息等 |
-histo | 输出堆空间中对象的统计信息,包括类、实例数量和合计容量 |
-permstat | 以ClassLoader为统计口径输出永久代的内存状态信息 |
-F | 当虚拟机进程对-dump选项没有任何响应时,强制执行生成dump文件 |
说明:这些参数和linux下输入显示的命令多少会有不同,包括也受jdk版本的影响。
-
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
梦想很模糊,去追,它会渐变清晰。青春励志,奋斗下去别放弃。