一、dump生成

dump可以是内存溢出时让其自动生成,或者手工直接导。配置jvm参数-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/biapp/m.hprof

手工直接导,PID为进程号

jmap -dump:live,format=b,file=m.hprof PID

二、下载LINUX的MAT

下载后将包传到linux服务器上解压。

MemoryAnalyzer.ini 配置文件可以修改最大的内存,默认1G基本够用了。若文件太大可以临时配8或16G大内存快速解析

三、在linux执行分析命令

执行命令

./ParseHeapDump.sh ./heap/heap12818.bin  org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components。

生成的文件会和你的dump文件在一个目录下,这里为了区分,我将dumpwenjian放在新建的heap文件夹下,执行脚本会生成图中文件

./heap/heap12818.bin就是jvm的dump文件,在heap目录下会生成3份.zip结尾的报告和一些m.相关的文件,将生成的相关的文件都下载到windows本地磁盘。

如:

四、打开分析报告

1)使用浏览器

解压缩以.zip结尾的文件,解压后打开每个目录下的index文件

2)使用浏览器打开index.html文件内容,查看分析报告

3)从图中分析看出来

http-8335-3线程某一段时间耗尽内存,于是用这个查询catalina.out文件,找到对应错误地方

原文:https://www.cnblogs.com/changjiye/p/11903896.html

php代码执行dump文件,使用MAT分析dump文件定位程序问题相关推荐

  1. MAT分析dump文件显示大小比jmap查询结果小

    背景 有朋友向我吐槽,她在一台测试机器上调试,使用jmap查看堆内存占用时,发现年轻代+老年代占用的内存,和dump下堆转储文件使用MAT分析显示的内存不一样,百思不得其解.重现现象如下: jmap显 ...

  2. eclipse mat 分析dump文件,打开文件报错,out of memeory

    eclipse mat 分析dump文件,打开文件报错,out of memeory 解决: 1.打开eclipse报out of memeory通用 window-->Preferences- ...

  3. linux使用MAT分析dump文件

    unzip MemoryAnalyzer-1.8.0.20180604-linux.gtk.x86_64.zip 修改MAT的内存大小, 注意这个大小要根据你dump文件大小来的,如果dump文件是5 ...

  4. mat分析dump分析_MAT从入门到精通(一)

    尽管JVM提供了自动内存管理的机制,试图降低程序员的开发门槛,确实也实现了这一目标,在日常开发中,我们一般都不需要关心对象的内存释放.JVM大部分都是使用trace算法来判断一个对象是否该被回收,那么 ...

  5. jvm mat分析dump文件

    jvm调优中,经常使用dump来分析是否存在大对象导致频繁full gc,以下为使用步骤: 一.获得服务进程 二.生成dump文件 jmap -dump:format=b,file=xxx.dump ...

  6. mat分析dump分析_使用Eclipse Memory Analyzer Tool(MAT)分析线上故障(一)

    来源:  https://sourl.cn/ggYpYX 前言 Eclipse Memory Analyzer Tool(MAT)是一个强大的基于Eclipse的内存分析工具,可以帮助我们找到内存泄露 ...

  7. Spring Data REST 远程代码执行漏洞(CVE-2017-8046)分析与复现

    前言 2009年9月Spring 3.0 RC1发布后,Spring就引入了SpEL(Spring Expression Language).对于开发者而言,引入新的工具显然是令人兴奋的,但是对于运维 ...

  8. 如何在程序中生成崩溃转储dump文件以及如何分析dump

    关于更详细的内容,如果有兴趣,可以访问下面的视频 https://edu.csdn.net/course/detail/28915 程序崩溃的时候如何生成dump文件 话不多说,直接上代码,下面的程序 ...

  9. python代码执行过程记录_[原创]IDAPython+OdbgScript动态获取程序执行流程

    题记: 最近知道了有一种方法,可以获取到程序的执行流程,具体做法是先获取程序中每一个函数的地址,在这些地址上设置断点,然后让程序运行起来,hook调试器,断点中断时,不要停下来继续执行,并记录命中的断 ...

最新文章

  1. Python相对、绝对导入浅析
  2. layui给select下拉框赋值
  3. columnproperty server sql_获取SQL Server表字段的各种属性
  4. 这不是商业互吹,是学习的宝藏
  5. 常识知识在AI不同领域应用的最新研究进展
  6. 数据结构实验之栈:行编辑器
  7. 详解MessageBox(),MsgBox函数的正确使用
  8. 太阳光轨迹软件_飞时达日照分析软件-FastSUN(日照分析软件)下载 v12.0中文版--pc6下载站...
  9. 前中后序遍历的递归与非递归算法,层序遍历
  10. Linux 中文文件名乱码解决 FTP文件名乱码
  11. Detours的使用
  12. 100%解决GitHub打不开或者打开慢
  13. SSH超市进销存管理系统
  14. 帝国CMS Table '***.phome_ecms_news_data_' doesn't exist
  15. 黑鲨手机计算机科学技术器,黑鲨4Pro将PC的SSD存储科技带到手机端,真技术革命还假营销噱头?...
  16. 我的世界手机有php的开服器下载地址,我的世界手机版怎么联机 PE手机版开服教程...
  17. app间共享(交互)方法
  18. mac上使用qt,进行输入法的开发
  19. Pygame实战之外星人入侵NO.11——设置开始按钮
  20. U.S. zip code

热门文章

  1. Android - 组件工具箱(widget tool box)
  2. uniapp 云打包 app
  3. GIS应用水平考试错题集
  4. 【trex】TRex多实例
  5. easyswoole使用QueryBuilder做复杂查询使用
  6. 10分钟离线安装k8s/kubernetes就是这么快
  7. 校招拿66个offer是一种什么体验?
  8. pyCharm字体放大缩小快捷键
  9. 2022-2023中国人工智能计算力发展评估
  10. Core Dump调试