使用mat 分析tomcat 内存溢出(OutOfMemoryError: Java heap space) |
您所在的位置:网站首页 › 查看tomcat内存使用情况 › 使用mat 分析tomcat 内存溢出(OutOfMemoryError: Java heap space) |
生成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 |