一次使用EclipseMemoryAnalyzer分析Tomcat内存溢出..docxVIP

  • 2
  • 0
  • 约2.28千字
  • 约 8页
  • 2017-01-03 发布于重庆
  • 举报

一次使用EclipseMemoryAnalyzer分析Tomcat内存溢出..docx

前言在平时开发、测试过程中、甚至是生产环境中,有时会遇到OutOfMemoryError,Java堆溢出了,这表明程序有严重的问题。我们需要找造成OutOfMemoryError原因。一般有两种情况:1、内存泄露,对象已经死了,无法通过垃圾收集器进行自动回收,通过找出泄露的代码位置和原因,才好确定解决方案;2、内存溢出,内存中的对象都还必须存活着,这说明Java堆分配空间不足,检查堆设置大小(-Xmx与-Xms),检查代码是否存在对象生命周期太长、持有状态时间过长的情况。以上是处理Java堆问题的思路,具体是怎么进行分析,这里介绍的是使用Eclipse Memory Analyzer tool(MAT)工具分析的过程。?生成dump文件???? 通过jvm参数--XX:-HeapDumpOnOutOfMemoryError可以让JVM在出现内存溢出是Dump出当前的内存转储快照;???? 或者,用jmap生产dump文件,win通过任务管理器查看tomcat的进程pid,linux用ps命令查看进程pid,然后用jmap命令(Java5:jmap -heap:format=b pid;Java6:jmap -dump:format=b,file=HeapDump.bin pid)。???????? 我这里使用的是,我一生产环境项目,运行一段时间大概3周的样子,就会报OutOfMem

文档评论(0)

1亿VIP精品文档

相关文档