tomcat没有在outofmemory错误上生成hprof文件

时间:2014-07-31 22:07:18

标签: java tomcat out-of-memory heap-dump hprof

我的网络应用程序中存在一些内存泄漏问题,该问题部署在tomcat中。要找到根本原因,我通过设置:

启用了HeapDumpOnOutOfMemory错误
  

-XX:-HapDumpOnOutOfMemoryError -XX:HeapDumpPath = / usr / local / tomcat / logs

并且tomcat中的内存设置为:

  

-Xms256m -Xmx768m -XX:PermSize = 128m -XX:MaxPermSize = 256m

当内存不足问题发生时,我看到了

  

java.lang.OutOfMemoryError:Java堆空间

在tomcat日志文件中,但未生成.hprof文件。我在这里错过了一些设置吗?

1 个答案:

答案 0 :(得分:1)

正如@ beny23所写,你应该使用-XX:+HeapDumpOnOutOfMemoryError

并按照陈述here

  

-XX:HeapDumpOnOutOfMemoryError选项此选项告诉Java   HotSpot VM在从Java分配时生成堆转储   堆或永久代不能满足。没有   使用此选项运行的开销,因此它可能很有用   生产系统,OutOfMemoryError异常需要很长时间   时间到了。

检查您的Java版本,因为此选项在1.4.2 update 12,5.0 update 7中为introduced