【笔记】Java程序堆内存诊断

前言

Java程序堆内存诊断

查看Java程序进程id

1
jps

查看Java程序堆内存占用情况

<pid>:进程id

1
jmap -heap <pid>

将抓取的数据快照作为文件导出

-dump:抓取数据快照并导出
format=b:指定转储文件的格式为二进制格式
format=live:在抓取快照时只抓取存活的类型,在抓取之前会主动触发一次垃圾回收
format=file=<name>.bin:指定导出后的文件存放位置和文件名
<pid>:进程id

1
jmap -dump:format=b,live,file=<name>.bin <pid>
  • 导出的文件可以使用Eclipse的MAT工具(Eclipse Memory Analyzer)进行分析

图形界面实时检测

1
jconsole

Oracle的JavaVisualVM

1
jvisualvm

完成

参考文献

哔哩哔哩——黑马程序员