java Analyzer_eclipse java MemoryAnalyzer 查询内存泄漏 环境配置
简单记录下java用MemoryAnalyzer分析内存泄漏问题!
首先,内存不足的时候,会报错 Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded类似的错误!
这时候会生成java_pid3708.hprof类似的文件,这个文件就是MemoryAnalyzer需要分析的文件!
写个例子,快速生成这个文件!
1 public classTestMain {2
3 public static voidmain(String[] args) {4
5 List ary =new ArrayList();6 while(true){7 ary.add(newTestMain());8 }9
10 }11
12 }
运行配置:
等一会就会出现如下
java.lang.OutOfMemoryError: GC overhead limit exceeded
Dumping heap to java_pid10996.hprof ...
Heap dump file created [780500156 bytes in 3.037 secs]
Exception in thread "main"java.lang.OutOfMemoryError: GC overhead limit exceeded
。。。。。
此时去工程根目录下查找*.hprof的文件
下载 MemoryAnalyzer-1.8.1.20180910-win32.win32.x86_64.zip 地址:
当然,根据你的环境不同自行选择版本!
下载后直接解压,发现 MemoryAnalyzer.exe 和 MemoryAnalyzer.ini
直接运行MemoryAnalyzer.exe载入hprof文件!至于如何分析,自己慢慢学吧,我这里仅做记录!
出问题看这里:应该就是mat的运行内存不够,hprof太大造成的
为了更有效率的使用 MAT,我们可以配置一些环境参数。因为通常而言,分析一个堆转储文件需要消耗很多的堆空间,为了保证分析的效率和性能,在有条件的情况下,我们会建议分配给 MAT 尽可能多的内存资源。你可以采用如下两种方式来分配内存更多的内存资源给 MAT。
一种是修改启动参数 MemoryAnalyzer.exe-vmargs -Xmx4g
另一种是编辑文件 MemoryAnalyzer.ini,在里面添加类似信息 -vmargs– Xmx4g。
说明:
1. MemoryAnalyzer.ini中的参数一般默认为-vmargs– Xmx1024m,这就够用了。假如你机器的内存不大,改大该参数的值,会导致MemoryAnalyzer启动时,报错:Failed to create the Java Virtual Machine。
2.当你导出的dump文件的大小大于你配置的1024m(说明1中,提到的配置:-vmargs– Xmx1024m),MAT输出分析报告的时候,会报错:An internal error occurred during: "Parsing heap dump from XXX”。适当调大说明1中的参数即可。
java Analyzer_eclipse java MemoryAnalyzer 查询内存泄漏 环境配置相关推荐
- 监视和检测Java应用程序中的内存泄漏
因此,您的应用程序内存不足,您日夜不停地分析应用程序,以期捕获对象中的内存漏洞. 后续步骤将说明如何监视和检测您的内存泄漏,以确保您的应用程序安全. 1.怀疑内存泄漏 如果您怀疑有内存泄漏,可以使用一 ...
- Java应用程序中的内存泄漏和内存管理
Java平台最突出的功能之一是其自动内存管理. 许多人错误地将此功能转换为Java中没有内存泄漏 . 但是,事实并非如此,我给人的印象是,现代Java框架和基于Java的平台,尤其是Android平台 ...
- java 系统工具类 查询内存 CPU 系统基本信息 SysInfoUtils
java 系统工具类 查询内存 CPU 系统基本信息 SysInfoUtils maven依赖 <dependency><groupId>com.github.oshi< ...
- Java开发者必须知道的内存泄漏问题
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 1. 简介 Java的核心优势之一是在内置垃圾收集器(简 ...
- Java动态编译优化——URLClassLoader 内存泄漏问题解决
一.动态编译案例 要说动态编译内存泄漏,首先我们先看一个案例(网上搜动态编译的资料是千篇一律,只管实现功能,不管内存泄漏,并且都恬不知耻的标识为原创!!) Java URLClassLoader 动 ...
- 【Java面试题】之内存泄漏
本文转载自:http://blog.csdn.net/anxpp/article/details/51325838 Java的一个重要特性就是通过垃圾收集器(GC)自动管理内存的回收,而不需要程序员自 ...
- java dwr 漏洞_Java DWR内存泄漏问题解决方案
机器跑了一晚上,发现有崩溃现象,由于页面内有动态绘图功能,我怀疑是绘图原因,但是今天上午有人提醒我才想到,是不是间隔调用时DWR产生了内存泄漏问题? 网上查了一下貌似大家都在讨论这个问题,之前我也挺老 ...
- Java 小白入门第一弹 安装与环境配置,开发工具的下载
python和java的异同 1.这两者都是开源语言,换言之你可以随意的使用这两门语言而不需要付费,可以阅读他们的源代码学习,并且对它们做一些改动.在这一点上,两者是不分上下的,唯一的差别可能就是Ja ...
- java 打包xml脚本_springboot打包不同环境配置与shell脚本部署
本篇和大家分享的是springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作: profiles指定不同环境的配置 maven-assembly-plu ...
最新文章
- 【面试题】使用 HashMap 还是 TreeMap
- 订单可视化(智能制造、流程再造、企业信息化) 第五篇 团队建设
- Java追加写json_java – ObjectMapper追加文件JSON
- AM2320 温湿度计 单总线读取数据
- php数组操作集锦- 掌握了数组操作, 也就掌握了php
- 前端学习(1509):单页应用SPA特点
- stat函数_数据分析工具入门 掌握这些Excel函数就够了
- myisam为什么比innodb查询快_mysql存储引擎之MyISAM 和 InnoDB的比较
- [Everyday Mathematics]20150226
- 一个很有趣的游戏(看谁的名字打架厉害)
- 加密卡华为怎么模拟_华为手机NFC模拟加密的门禁卡详细教程
- arduino 步进电机驱动库_arduino中驱动 步进电机
- android art模式 开启,如何开启androidART模式
- [TJOI2019]唱、跳、rap和篮球——NTT+生成函数+容斥
- Nofollow标签的写法以及运用
- 前端多线程之Worker
- 雷神simplest_ffmpeg_player解析(二)
- vivado查看内部资源占用情况
- Excel 一些操作记录,方便自己查
- 文献阅读-融合注意力机制的 IETM 细粒度跨模态检索算法
热门文章
- 单品购买商城源码/单个商品详情页购买源码下载
- django admin 账户 输入汉字会报错 'ascii' codec can't encode character u'\u4eba' in position 0: ordinal not i
- 解析html xml最好的模块,解析--import--htmllib--xml
- python tts 保存wav_C#文本转语音并保存wav和MP3文件
- 【内网—权限提升】——linux本地提权_脏牛漏洞提权
- Instagram是什么,如何通过社交群推王Instagram群控系统获取商机
- Java实现第八届蓝桥杯兴趣小组
- linux内核入口函数start_kernal
- Mifare Classic漏洞原理之一
- 暗夜精灵5安装Manjaro 18.1.0 Juhraya