使用Eclipse Memory Analyzer对Tomcat进行内存分析
测试环境
Java : JDK1.6
Tomcat: Tomcat 5.5
Eclipse Memory Analyzer:EMA 1.2.1(直接去Eclipse下载,无需安装哈)
获得Heap Dump文件
Eclipse Memory Analyzer是针对Heap Dump文件进行分析的,因此第一步就是要获得Heap Dump文件。
步骤:
获得线程ID。启动jconsole.exe,它位于jdk目录下的bin目录,jconsole是jdk自带的一个内存分析工具,它提供了图形界面。可以查看到被监控的jvm的内存信息,线程信息,类加载信息,MBean信息。
此处我们可以找到需要检测的Tomcat的线程ID。
获得Heap Dump文件。使用jmap来获得Heap Dump文件,命令行如下:
jmap -dump:format=b,file=heap.bin 3888
此处3888就是Tomcat对应的线程ID
生成分析报告
启动MemoryAnalyzer.exe,打开指定的Heap Dump文件。File -> Open Heap Dump
MAT针对指定的Heap Dump文件进行分析,生成内存泄露检测报告
看懂分析报告
要想看懂EAT的报告,与其到网上去找各种神贴,不如老老实实找本书,先简单复习下JVM的Heap是怎么工作滴?gc的大概一个工作机制。否则EAT的报告就像天书一样。EAT只是工具,不是目的。
使用Eclipse Memory Analyzer对Tomcat进行内存分析相关推荐
- 使用 Eclipse Memory Analyzer 进行堆转储文件分析
概述 对于大型 JAVA 应用程序来说,再精细的测试也难以堵住所有的漏洞,即便我们在测试阶段进行了大量卓有成效的工作,很多问题还是会在生产环境下暴露出来,并且很难在测试环境中进行重现.JVM 能够记录 ...
- 一次使用 Eclipse Memory Analyzer 分析 Tomcat 内存溢出
最近,线上生产系统突然频繁的 JVM 内存报警!但本系统近期内并没有上线改动! 为了能查清内存报警的原因,使用 Eclipse Memory Analyzer tool(MAT)对 JVM Dump ...
- 一次使用Eclipse Memory Analyzer分析weblogic内存溢出
前言 在平时开发.测试过程中.甚至是生产环境中,有时会遇到OutOfMemoryError,Java堆溢出了,这表明程序有严重的问题.我们需要找造成OutOfMemoryError原因.一般有两种情况 ...
- 内存映像分析工具Eclipse Memory Analyzer
1. Eclipse Memory Analyzer安装 Help ->Eclipse Marketplace,搜索Memory,点击install,->confirm->同意证书内 ...
- Eclipse Memory Analyzer以及内存泄露的原因
Eclipse Memory Analyzer是一个非常棒的堆内存分析工具,是JDK自带的堆分析工具jhat的一个非常好的替代品,能够快速地定位Java内存泄露的原因. 可能有的同学会问, ...
- Eclipse Memory Analyzer 使用技巧
Eclipse Memory Analyze 是Java 堆转储文件分析工具,可以帮助你发现内存漏洞和减少内存消耗. 概述 对于大型 JAVA 应用程序来说,再精细的测试也难以堵住所有的漏洞,即便我们 ...
- Eclipse Memory Analyzer 的使用
原文出处:郭霖,http://blog.csdn.net/sinyu890807/article/details/42238633?locationNum=4 Eclipse Memory Analy ...
- solr analyzer_查看您的Solr缓存大小:Eclipse Memory Analyzer
solr analyzer Solr使用不同的缓存来防止请求期间过多的IO访问和计算. 如果索引不是很频繁发生,则可以通过使用这些缓存来获得巨大的性能提升. 根据索引数据的结构和缓存的大小,它们可能会 ...
- 查看您的Solr缓存大小:Eclipse Memory Analyzer
Solr使用不同的缓存来防止请求期间过多的IO访问和计算. 当索引不是很频繁发生时,您可以通过使用这些缓存来获得巨大的性能提升. 根据索引数据的结构和缓存的大小,它们可能会变得很大,并占用堆内存的很大 ...
最新文章
- 如何让机器像人一样多角度思考?协同训练来帮你
- Xampp安装时需注意的事项
- 倒梁法matlab,在编制措施项目清单时,关于钢筋混凝土模版及支架费项目,应在清单中列明( )...
- python遗传算法八皇后_遗传算法之:八皇后问题
- Ecshop与Jquery冲突的完美解决方案(实践过,有效)
- QoE驱动的端到端视频直播技术演进
- Android NDK学习(七):NDK 编译支持 C++特有的库
- Java Number Math 类方法
- 使用某个文件夹下的所有文件去替换另一个文件夹下及其子文件夹下存在的同名文件(Python实现)...
- 实时计算框架 Spark: Lightning-fast cluster computing
- 1H413000工业机电工程安装技术—— 1H413020电气工程安装技术
- 【UEFI基础】EDK编译生成的二进制的结构
- 从零开始使用IDEA创建JAVAWEB工程
- 微信小程序API----授权登录拿到用户头像昵称等信息
- Fortran中go to语句的罕见用法
- 珍珠为宝,稻米为王,数据可视化带你了解粮食那些事儿
- 【中间件-keycloak】第一次改开源中间件keycloak总个结
- VSCode 官网,下载安装包太慢,将地址中的 az764295.vo.msecnd.net 更换为 vscode.cdn.azure.cn
- 高分系列、环境星、资源系列卫星数据下载方法
- linux卸载java环境
热门文章
- 跑步耳机哪款好用,排行前五的运动耳机推荐
- HTML+CSS+JS实现 ❤️ 立方体旋转图片切换特效❤️
- Spring Boot 从入门到精通(一)HelloWorld(构建项目,热部署,测试)
- 习题4-9 打印菱形图案(15分)
- APPNP:PREDICT THEN PROPAGATE: GRAPH NEURAL NETWORKS MEET PERSONALIZED PAGERANK
- H5页面微信授权登录——前端部分
- 面试题:在浏览器输入 URL 回车之后发生了什么?(超详细版)
- XCTF MISC 高手区 2017_Dating_in_Singapore
- csp刷题总结(如此编码python版本)
- ZZ 自制低成本3D激光扫描测距仪(3D激光雷达),第二部分