dump文件生成和分析查看

1,生成dump文件:

1.1手动生成dump文件:

如图:

命令如下:

ps -ef | grep list-app | grep -v grep

jmap -dump:file=test.hprof,format=b 3307

1.2自动生成dump文件:

1. -XX:+HeapDumpOnOutOfMemoryError 
当OutOfMemoryError发生时自动生成 Heap Dump 文件。

    这是一个非常有用的参数,因为当你需要分析Java内存使用情况时,往往是在OOM(OutOfMemoryError)发生时。

2. -XX:+HeapDumpBeforeFullGC 
当 JVM 执行 FullGC 前执行 dump。

3. -XX:+HeapDumpAfterFullGC 
当 JVM 执行 FullGC 后执行 dump。

4. -XX:+HeapDumpOnCtrlBreak 
交互式获取dump。在控制台按下快捷键Ctrl + Break时,JVM就会转存一下堆快照。

5. -XX:HeapDumpPath=d:\test.hprof 
指定 dump 文件存储路径。

注意:JVM 生成 Heap Dump 的时候,虚拟机是暂停一切服务的。如果是线上系统执行 Heap Dump 时需要注意。

2,查看dump文件

推荐使用jdk自带的visualVM,其在JDK_HOME/bin目录下,可搜:jvisualvm。注意:windows系统是jvisualvm.exe文件。然后装入快照即可。

0%