如何用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
如何解决Bumblebee不能加载GPU驱动错误?

1 前言 一个问题,一篇文章,一出故事。 笔者有使用Bumblebee实现双显示器屏幕扩展,但是最近 …

Debian-Like
如果解决Linux WPS导出PDF文件的过程中遇到错误?

1 前言 一个问题,一篇文章,一出故事。 笔者使用WPS另存为PDF时遇到“WPS导出PDF文件的过 …

Debian-Like
如何安装部署Debian Slack?

1 前言 一个问题,一篇文章,一出故事。 Slack是一款流行的即时通讯软件,主要用于团队协作和沟通 …