JAVA内存泄露查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA内存泄露查询相关的知识,希望对你有一定的参考价值。
前言
当JAVA程序遇到OutOfMemory,或者遇到内存占用升高的情况时,可以使用jmap生成堆dump文件,看是否有内存泄露。
下边是具体步骤。
生成堆转储信息
生成dump文件有两种方式,一种是在出现错误时,自动dump堆信息,另外一种是使用命令行生成。
推荐自动生成的方式,因为在程序挂掉后,堆信息就不存在了,线程被破坏
自动生成
通过一些JVM参数让虚拟机在内存溢出时自动dump出快照文件
参数 | 说明 |
---|---|
-XX:+HeapDumpOnOutOfMemoryError | 内存溢出时自动导出内存快照 |
-XX:HeapDumpPath=/workspace/dumps/ | dump文件路径 |
jmap生成
使用jmap命令可以输出dump文件
jmap -dump:format=b,file=/workspace/dumps/jmap.hprof 10245
分析dump文件
使用jvisualvm分析dump文件,有图形界面,直观方便。
安装jdk后,默认会安装jvisualvm,所以只需要输入命令,即可启动。
jvisualvm
执行命令,会打开jvisualvm界面,点击[文件]->[装入]打开界面,可以直观看到相关统计信息。
以上是关于JAVA内存泄露查询的主要内容,如果未能解决你的问题,请参考以下文章