当前位置 : 主页 > 网络编程 > 其它编程 >

口径|状况_深入理解Java虚拟机——Java内存映像工具(Jmap)

来源:互联网 收集:自由互联 发布时间:2023-07-02
篇首语:本文由编程笔记#自由互联小编为大家整理,主要介绍了深入理解Java虚拟机——Java内存映像工具(Jmap)相关的知识,希望对你有一定的参考价值。目录 篇首语:本文由编程笔记
篇首语:本文由编程笔记#自由互联小编为大家整理,主要介绍了深入理解Java虚拟机——Java内存映像工具(Jmap)相关的知识,希望对你有一定的参考价值。目录

篇首语:本文由编程笔记#自由互联小编为大家整理,主要介绍了深入理解Java虚拟机——Java内存映像工具(Jmap)相关的知识,希望对你有一定的参考价值。

目录

    • 一、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

  • 参数说明

    项作用dump生成Java堆转储快照。格式为-dump:[live,] formatb, file,其中live子参数说明是否只dump出存活的对象。finalizerinfo显示在F-Queue中等待Finalizer线程执行finalize方法的对象只在Linux/Solaris平台下有效。heap显示Java堆详细信息如使用哪种回收器、参数配置 、分代状况等。只在linux/Solaris平台下有效。histo显示堆中对象统计信息包括类、实例数量、合计容量。permstat以ClassLoader为统计口径显示永久代内存状态只在Linux/Solaris平台下有效。F当虚拟机进程对-dump选项没有响应时可使用这个选项强制生成dump快照只在Linux/Solaris平台下有效。

四、Java内存映像工具jmap的执行样例

  • 执行查看进程号命令

    jps

  • 生成Java堆转储快照命令

    jmap -dump:formatb,filed:\\a.bin 16688

  • 截图如下

上一篇:《江村夏咏》翻译原文赏析诗人清陈维崧
下一篇:没有了
网友评论