JVM调优 dump文件怎么生成和分析
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文件怎么生成和分析相关推荐
- java 生成dump_java dump文件怎么生成和分析-JMAP用法详解
jmap是java自带的工具 1. 查看整个JVM内存状态 jmap -heap [pid] 2. 查看JVM堆中对象详细占用情况 jmap -histo [pid] 3. 导出整个JVM 中内存信息 ...
- jvm调优-hprof 文件打开
最近在学习如何进行jvm的调优,在cmd命令中查看当前的进程命令 jps: dump 当前进程的内存信息: jmap -dump:format=b,file=eureka.hprof 8992 如何打 ...
- java dump文件怎么生成和分析-JMAP用法
jmap是java自带的工具 1. 查看整个JVM内存状态 jmap -heap [pid] 2. 查看JVM堆中对象详细占用情况 jmap -histo [pid] 3. 导出整个JVM 中内存信息 ...
- JVM调优(一)底层原理分析和问题定位
在这里,假设你已经读过<深入理解Java虚拟机>或者类似的书籍或查看过官方文档. 这个话题从为什么开始. 在虚拟机执行时,有时候会遇到各种线上问题.比如CPU使用居高不下,内存消耗过多,I ...
- 一次线上 JVM 调优实践,FullGC 40 次/天到 10 天一次的优化过程
点击关注公众号,Java干货及时送达 来源 | https://blog.csdn.net/cml_blog/article/details/81057966 通过这一个多月的努力,将 FullGC ...
- Jvm 系列(七):Jvm 调优-工具篇
工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗费性能的分析(dump文件分析)一般也不会在生产直接分析,往往dump下来的文件达1G左右,人工分析效率较低,因此利用工具来分析jvm相关问题 ...
- jvm系列(四):jvm调优-命令大全(jps jstat jmap jhat jstack jinfo)
2019独角兽企业重金招聘Python工程师标准>>> 文章同步发布于github博客地址,阅读效果更佳,欢迎品尝 运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我 ...
- 一次线上JVM调优实践,FullGC40次/天到10天一次的优化过程
作者 | cmlbeliever 来源 | https://blog.csdn.net/cml_blog/article/details/81057966 通过这一个多月的努力,将FullGC从40次 ...
- jvm系列(七):jvm调优-工具篇
16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其中就包括如何利用工具来监控调优前后的性能变化.工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗 ...
最新文章
- 如何解决ALV的负数符号前显的问题
- vue3.x通过ref属性获取元素
- 【图像处理】——创建一个新的图片
- 指向二维数组的指针测试
- linux内核测试,Linux内核测试的生命周期
- jQuery的实现原理
- 吴恩达深度学习 ——4.4 为什么使用深层表示
- TP5.0 PHPExcel 数据表格导出导入(原)
- Aho-Corasick
- php里ezpdo orm框架初探
- 工作学习总结--ng2-pdf-viewer的运用
- 笨办法学python3-笨办法学python3PDF
- 9月份红帽认证考试又 PASS 19位同学
- SELECT @@IDENTITY 中的@@是什么意思,如何应用?
- Jedis scan及其count的值
- 分享| 5个常见小程序营销线上玩法
- 火车头9.2 内容分页采集
- java IO流(复习,上课笔记)
- 获取视频网站上视频的缩略图以及其他信息
- 1000瓶水,1瓶有毒药,几只小白鼠能够找出
热门文章
- Paxos算法(Basic Paxos 与 Multi-Paxos思想)
- python方法items_Python字典items()方法与示例
- 路由表,路由,路由规则_路由和路由表简介
- 面向对象(匿名内部类重写多个方法调用)
- RTMP代理的协议规范(RtmpProxy)
- 远控免杀专题(23)-SharpShooter免杀
- 排序下---(冒泡排序,快速排序,快速排序优化,快速排序非递归,归并排序,计数排序)
- 【Linux】Ubuntu 18下安装Vim自动补全插件YouCompleteMe(可高速下载安装)
- vivado软件如何查看内部器件的仿真信号
- 函数perror、strerror