前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >生成 Heap Dump 的几种方式

生成 Heap Dump 的几种方式

作者头像
java404
发布2018-05-18 14:59:25
3.1K0
发布2018-05-18 14:59:25
举报
文章被收录于专栏:java 成神之路java 成神之路

Heap Dump 概述

Heap Dump 是 Java进程所使用的内存情况在某一时间的一次快照。以文件的形式持久化到磁盘中。 Heap Dump的格式有很多种,而且不同的格式包含的信息也可能不一样。但总的来说,Heap Dump一般都包含了一个堆中的Java Objects, Class等基本信息。同时,当你在执行一个转储操作时,往往会触发一次GC,所以你转储得到的文件里包含的信息通常是有效的内容(包含比较少,或没有垃圾对象了) 。

Heap Dump 包含的信息

  • 所有的对象信息 对象的类信息、字段信息、原生值(int, long等)及引用值
  • 所有的类信息 类加载器、类名、超类及静态字段
  • 垃圾回收的根对象 根对象是指那些可以直接被虚拟机触及的对象
  • 线程栈及局部变量 包含了转储时刻的线程调用栈信息和栈帧中的局部变量信息

Heap Dump 获取方式

1. 使用 jmap 命令生成 dump 文件
代码语言:javascript
复制
jmap -dump:live,format=b,file=d:\dump\heap.hprof <pid>
2. 使用 jcmd 命令生成 dump 文件
代码语言:javascript
复制
jcmd <pid> GC.heap_dump d:\dump\heap.hprof
3. 使用 JVM 参数获取 dump 文件
  • 1. -XX:+HeapDumpOnOutOfMemoryError 当OutOfMemoryError发生时自动生成 Heap Dump 文件。

这可是一个非常有用的参数,因为当你需要分析Java内存使用情况时,往往是在OOM(OutOfMemoryError)发生时。

  • 2. -XX:+HeapDumpBeforeFullGC 当 JVM 执行 FullGC 前执行 dump。
  • 3. -XX:+HeapDumpAfterFullGC 当 JVM 执行 FullGC 后执行 dump。
  • 4. -XX:+HeapDumpOnCtrlBreak 交互式获取dump。在控制台按下快捷键Ctrl + Break时,JVM就会转存一下堆快照。
  • 5. -XX:HeapDumpPath=d:\test.hprof 指定 dump 文件存储路径。

注意:JVM 生成 Heap Dump 的时候,虚拟机是暂停一切服务的。如果是线上系统执行 Heap Dump 时需要注意。

4. 使用其它工具获取dump文件

分析 Heap Dump 的工具都可以获取 Heap Dump 文件。 比如:jdk 自带的工具 jvisualvm。 其它工具:Eclipse memory analyzer(jmat)、JProfiler 等。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.01.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Heap Dump 概述
  • Heap Dump 包含的信息
  • Heap Dump 获取方式
    • 1. 使用 jmap 命令生成 dump 文件
      • 2. 使用 jcmd 命令生成 dump 文件
        • 3. 使用 JVM 参数获取 dump 文件
          • 4. 使用其它工具获取dump文件
          相关产品与服务
          文件存储
          文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档