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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




