如何用Eclipse MAT分析Tomcat堆栈?
- By : Will
- Category : Debian-Like
Debian-Like
1 前言
一个问题,一篇文章,一出故事。
以下为软件的简介,
– Eclipse MAT为Eclipse Memory Analyzer Tool的英文简写
– jmap用于生成堆转储快照(一般称为 heapdump 或 dump 文件)
– jmap支持查询堆内存使用状况,一般结合jhat命令使用
– jhat在新版本的JDK中已经不再包含,因此我们需要使用Eclipse MAT
笔者遇到Tomcat的程序需要分析堆栈,于是熟悉Eclipse MAT工具。
2 最佳实践
2.1 生成堆转储快照
sudo -u tomcat /usr/local/jdk-15.0.2/bin/jmap -dump:live,format=b,file=/tmp/tomcat-heap.hprof `pgrep -u tomcat java`
可见如下输出,
Dumping heap to /tmp/tomcat-heap.hprof ... Heap dump file created [1723009040 bytes in 8.861 secs]
注:生成的文件“/tmp/tomcat-heap.hprof”供后面的Eclipse MAT作为分析的堆栈转存储快照文件
2.2 准备分析工具
2.2.1 下载内存分析工具
cd ~/Downloads/ wget https://mirror.kakao.com/eclipse/mat/1.14.0/rcp/MemoryAnalyzer-1.14.0.20230315-linux.gtk.x86_64.zip
2.2.2 解压内存分析工具
cd ~/Downloads/ unzip MemoryAnalyzer-1.14.0.20230315-linux.gtk.x86_64.zip
2.2.3 运行内存分析工具
cd ~/Downloads/ cd mat/ ./MemoryAnalyzer
2.3 使用分析工具
单击【File】->【Open Heap Dump】
选中需要分析的“tomcat-heap.hprof”文件即可
注:具体的分析非本章重点,请自行摸索
参阅文档
============================
官方文档
————
https://eclipse.dev/mat/downloads.php
非官方文档
————
https://stackoverflow.com/questions/17278262/how-to-install-mat-in-eclipse
没有评论