1、获取JVM的dump文件的两种方式  

  1. JVM启动时增加两个参数:

#出现 OOME 时生成堆 dump:
-XX:+HeapDumpOnOutOfMemoryError
#生成堆文件地址:
-XX:HeapDumpPath=/home/liuke/jvmlogs/

  2. 发现程序异常前通过执行指令,直接生成当前JVM的dmp文件,6214是指JVM的进程号

jmap -dump:format=b,file=/home/admin/logs/heap.hprof 6214

  获得heap.hprof以后,就可以分析你的java线程里面对象占用堆内存的情况了。

  推荐使用Eclipse插件Memory Analyzer Tool来打开heap.hprof文件。 

由于第一种方式是一种事后方式,需要等待当前JVM出现问题后才能生成dmp文件,实时性不高,第二种方式在执行时,JVM是暂停服务的,所以对线上的运行会产生影响。所以建议第一种方式。

2. 查看整个JVM内存状态 

  jmap -heap [pid]


3. 查看JVM堆中对象详细占用情况
  jmap -histo [pid]

4. 导出整个JVM 中内存信息,可以利用其它工具打开dump文件分析,例如jdk自带的visualvm工具

  jmap -dump:file=文件名.dump [pid]

  jmap -dump:format=b,file=文件名 [pid]

  format=b指定为二进制格式文件

利用MAT进行分析文件,下面是MAT安装教程

在Eclipse help -> Eclipse Marketplace下搜索Memory:

安装后打开导出的文件:

1、打开MAT面板

2、打开导出文件

3、分析

暂时不写了参照android的分析   https://www.jianshu.com/p/c8e0f8748ac0

转载于:https://www.cnblogs.com/myseries/p/10827195.html

JVM调优 dump文件怎么生成和分析相关推荐

  1. java 生成dump_java dump文件怎么生成和分析-JMAP用法详解

    jmap是java自带的工具 1. 查看整个JVM内存状态 jmap -heap [pid] 2. 查看JVM堆中对象详细占用情况 jmap -histo [pid] 3. 导出整个JVM 中内存信息 ...

  2. jvm调优-hprof 文件打开

    最近在学习如何进行jvm的调优,在cmd命令中查看当前的进程命令 jps: dump 当前进程的内存信息: jmap -dump:format=b,file=eureka.hprof 8992 如何打 ...

  3. java dump文件怎么生成和分析-JMAP用法

    jmap是java自带的工具 1. 查看整个JVM内存状态 jmap -heap [pid] 2. 查看JVM堆中对象详细占用情况 jmap -histo [pid] 3. 导出整个JVM 中内存信息 ...

  4. JVM调优(一)底层原理分析和问题定位

    在这里,假设你已经读过<深入理解Java虚拟机>或者类似的书籍或查看过官方文档. 这个话题从为什么开始. 在虚拟机执行时,有时候会遇到各种线上问题.比如CPU使用居高不下,内存消耗过多,I ...

  5. 一次线上 JVM 调优实践,FullGC 40 次/天到 10 天一次的优化过程

    点击关注公众号,Java干货及时送达 来源 | https://blog.csdn.net/cml_blog/article/details/81057966 通过这一个多月的努力,将 FullGC ...

  6. Jvm 系列(七):Jvm 调优-工具篇

    工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗费性能的分析(dump文件分析)一般也不会在生产直接分析,往往dump下来的文件达1G左右,人工分析效率较低,因此利用工具来分析jvm相关问题 ...

  7. jvm系列(四):jvm调优-命令大全(jps jstat jmap jhat jstack jinfo)

    2019独角兽企业重金招聘Python工程师标准>>> 文章同步发布于github博客地址,阅读效果更佳,欢迎品尝 运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我 ...

  8. 一次线上JVM调优实践,FullGC40次/天到10天一次的优化过程

    作者 | cmlbeliever 来源 | https://blog.csdn.net/cml_blog/article/details/81057966 通过这一个多月的努力,将FullGC从40次 ...

  9. jvm系列(七):jvm调优-工具篇

    16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其中就包括如何利用工具来监控调优前后的性能变化.工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗 ...

最新文章

  1. 如何解决ALV的负数符号前显的问题
  2. vue3.x通过ref属性获取元素
  3. 【图像处理】——创建一个新的图片
  4. 指向二维数组的指针测试
  5. linux内核测试,Linux内核测试的生命周期
  6. jQuery的实现原理
  7. 吴恩达深度学习 ——4.4 为什么使用深层表示
  8. TP5.0 PHPExcel 数据表格导出导入(原)
  9. Aho-Corasick
  10. php里ezpdo orm框架初探
  11. 工作学习总结--ng2-pdf-viewer的运用
  12. 笨办法学python3-笨办法学python3PDF
  13. 9月份红帽认证考试又 PASS 19位同学
  14. SELECT @@IDENTITY 中的@@是什么意思,如何应用?
  15. Jedis scan及其count的值
  16. 分享| 5个常见小程序营销线上玩法
  17. 火车头9.2 内容分页采集
  18. java IO流(复习,上课笔记)
  19. 获取视频网站上视频的缩略图以及其他信息
  20. 1000瓶水,1瓶有毒药,几只小白鼠能够找出

热门文章

  1. Paxos算法(Basic Paxos 与 Multi-Paxos思想)
  2. python方法items_Python字典items()方法与示例
  3. 路由表,路由,路由规则_路由和路由表简介
  4. 面向对象(匿名内部类重写多个方法调用)
  5. RTMP代理的协议规范(RtmpProxy)
  6. 远控免杀专题(23)-SharpShooter免杀
  7. 排序下---(冒泡排序,快速排序,快速排序优化,快速排序非递归,归并排序,计数排序)
  8. 【Linux】Ubuntu 18下安装Vim自动补全插件YouCompleteMe(可高速下载安装)
  9. vivado软件如何查看内部器件的仿真信号
  10. 函数perror、strerror