如何用Eclipse MAT分析Tomcat堆栈?

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

没有评论

发表回复

Debian-Like
如何配置Ubuntu的默认桌面?

1 前言 本章针对Ubuntu的系统环境配置VNC,如有需要请参阅下文。 2 实践部分 2.1 安装 …

Debian-Like
如何部署Debian sublime-text平替notepad++

1 前言 一个问题,一篇文章,一出故事。 办公系统环境早已放弃使用Windows客户端系统,因此需要 …

Debian-Like
如何部署Ubuntu Apache Directory Studio?

1 前言 一个问题,一篇文章,一出故事。 由于笔者需要访问LDAP服务器,所以需要安装一个LDAP的 …