码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA内存泄露查询

时间:2019-02-14 22:30:11      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:erro   启动   sha   路径   jpg   for   jvisualvm   破坏   安装   

前言

当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内存泄露查询

标签:erro   启动   sha   路径   jpg   for   jvisualvm   破坏   安装   

原文地址:http://blog.51cto.com/4436396/2350346

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!