使用mat 分析tomcat 内存溢出(OutOfMemoryError: Java heap space)

您所在的位置:网站首页 查看tomcat内存使用情况 使用mat 分析tomcat 内存溢出(OutOfMemoryError: Java heap space)

使用mat 分析tomcat 内存溢出(OutOfMemoryError: Java heap space)

2022-03-24 20:11| 来源: 网络整理| 查看: 265

生成dump文件    

    通过jvm参数--XX:+HeapDumpOnOutOfMemoryError可以让JVM在出现内存溢出是Dump出当前的内存转储快照。

    -XX:HeapDumpPath=${目录}参数表示生成DUMP文件的路径,如不设置,默认存储在jvm 运行环境目录。如我们这使用的是tomcat 默认dump文件存储在 tomcat/bin 目录下。也可以指定文件名称,如果不指定文件名,默认文件示例如 下:java_pid2821.hprof,其中2821为Java进程号。

上面的参数是设置内存溢出时,dump 转储出内存影像。也可以手工导出来随时分析。但各厂商的jvm 手工dump 方法有小区别,具体可以根据自己jvm 型号google。如 Oracle JVM的6.0版本去掉了-XX:+HeapDumpOnCtrlBreak参数(-XX:+HeapDumpOnCtrlBreak参数表示可以通过kill  -3  根据需要产生DUMP文件),如果需要产生DUMP文件,请采用jmap命令,命令行格式如下:

    jmap  -dump:format=b,file=managed1_heapdump.hprof 

其中managed1_heapdump.hprof表示生成的DUMP文件名称,pid表示Java进程号(win通过任务管理器查看tomcat的进程pid,linux用ps命令查看进程pid)。

ps: myeclipse 如何设置tomcat运行时java 参数呢。

 

内存转储以后就是使用mat 进行分析了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3