暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Java内存分析利器——Eclipse Memory Analyzer工具的使用

DevHome 2021-11-07
1536
一、如何下载Java程序的dump内存文件并离线导入到MemoryAnalyser工具进行分析

1、jps查看Java应用的pid   jps

11584
21616
8084 Launcher
24792 kafkatool.exe
25832 HomeworkApplication   【程序前面的就是程序ID:pid】
10300 Launcher
4460 Jps

2、dump内存文件

jmap命令(Java Memory Map)是用来打印指定Java进程的共享对象内存映射或者堆内存细节。jmap命令可以获得运行中的jvm的堆的快照,从而可以离线分析堆,以检查内存泄漏、大对象的创建,对应所占用的内存大小等等。

可以使用jmap生成Heap Dump离线文件。

jmap -dump:format=b,file=homeworkdump 25832【这个是通过jps查询出来的Java进程ID】

3、使用k8s copy出来即可

kubectl cp homework-dp-4j888hhj:./

4、用memoryAnalyser分析dump文件

使用open heap dump 需要选择所有文件的格式才行, all files,  因为上述步骤导出的dump文件没有后缀名。导入之后界面如下,之后可以借助工具非常强大的功能进行分析:

文章转载自DevHome,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论