Tomcat OOM错误,即使堆使用远低于限制

时间:2016-05-02 17:11:31

标签: java tomcat garbage-collection out-of-memory

是否有可能获得"内存不足"当Xmx值太高时,Apache Tomcat中的错误呢?

我为什么要问这个?

我们已将Java堆(Xmx)设置为8GB。     设置CATALINA_OPTS = -Xmx8192m 没有指定元空间(因此它根据需要而采用,并且由于Metaspace而不存在错误的可能性)。

但是,Tomcat会在一段时间后生成OOM错误并停止响应用户请求。

当我们检查JVisualVM for Tomcat进程时,Heap和Metaspace图表显示在极限之下。 Heap接触1.5GB(8GB),Metaspace接触200MB。

我发现这个链接在堆太高时提到了OOM错误。 https://confluence.atlassian.com/confkb/confluence-crashes-due-to-outofmemoryerror-gc-overhead-limit-exceeded-error-189433058.html。 我找不到足够的资源加强这一点。

你能分享一下你的想法吗?

1 个答案:

答案 0 :(得分:0)

正如其他评论者所说,要获得更好的答案,请提供堆栈跟踪和其他信息。

OutOfMemory错误的另一个典型情况是,当您尝试分配比一次性可用内存更多的内存时,例如分配巨型大型数组时。异常消息只是'java.lang.OutOfMemoryError:Java堆空间',抛出在您分配数组的位置。