【问题标题】:JVM HeapDump: The memory is accumulated in one instance of "java.util.concurrent.ConcurrentHashMap$SegmentJVM HeapDump:内存在“java.util.concurrent.ConcurrentHashMap$Segment”的一个实例中累积
【发布时间】:2012-05-13 06:35:30
【问题描述】:

JVM 堆有问题。

我们使用 Apache HTTP 服务器和 Apache Tomcat 应用服务器运营一个网站。

对 Apache HTTP 服务器的所有 *.jsp 请求都将被重定向到 Tomcat 服务器(协议:ajp)。

网站有10000多个jsp文件。

我们还有一个谷歌搜索工具,它每晚都会抓取网站。

当它爬行时,jvm 堆空间上升到 8 GB 的最大限制。

使用 javamelody,我可以看到堆空间增加类似于加载的类。

为了分析,我做了一个堆转储。

这是来自 eclipse MAT 的报告:


“org.apache.catalina.loader.StandardClassLoader @ 0x7092c5148”加载的“org.apache.jasper.servlet.JspServlet”实例占用1'189'603'328(96.75%)字节。

内存在“”加载的“java.util.concurrent.ConcurrentHashMap$Segment[]”的一个实例中累积。

关键词

java.util.concurrent.ConcurrentHashMap$Segment[]

org.apache.catalina.loader.StandardClassLoader @ 0x7092c5148

org.apache.jasper.servlet.JspServlet


GSA 请求是否存在问题?

为什么JVM不能卸载生成的类?

【问题讨论】:

  • 这显示使用了 1.1GB 的堆。这是唯一消耗内存的主要部分吗?
  • 是的,只有它一个。我手动停止了 GSA 以进行堆转储,因此它不是很大的原因。我上周也拿了一个,然后是 3.8 GB。
  • 我不会阻止 GSA 进行堆转储。如果你这样做,一些资源可能会被释放,然后你的堆转储不会告诉你整个故事。您是否在日志中看到内存不足异常?如果是这样,您可能需要添加启动参数 HeapDumpOnOutOfMemoryError stackoverflow.com/q/542979/425406
  • 这是 OutOfMemoryError 后的堆转储:“org.apache.catalina.loader.StandardClassLoader @ 0x7092af928”加载的“org.apache.jasper.compiler.JspRuntimeContext”实例占用 4'367 '316'712 (98.57%) 字节。内存在“”加载的“java.util.concurrent.ConcurrentHashMap$Segment[]”的一个实例中累积。关键字 java.util.concurrent.ConcurrentHashMap$Segment[] org.apache.catalina.loader.StandardClassLoader @ 0x7092af928 org.apache.jasper.compiler.JspRuntimeContext
  • 如果您还没有阅读此文档,请阅读此文档tomcat.apache.org/tomcat-6.0-doc/jasper-howto.html 这将帮助您调整您的 jasper 引擎,以减少由此造成的占用空间

标签: tomcat jvm heap-memory concurrenthashmap ajp


【解决方案1】:

看起来加载所有 JSP 会导致问题。

默认情况下,Tomcat 将所有已加载的 JSP 保存在内存中,直到 Web 应用程序停止。

在 Tomcat 7 中,您可以设置 JSP Servlet 的 maxLoadedJsps 参数来限制内存中保存的 JSP 的数量。

【讨论】:

  • 谢谢,Tomcat 6 也有解决方案吗?
  • 还没有。由于一些需要修复的错误和缺乏兴趣的组合,此功能的后向端口停滞不前。
猜你喜欢
  • 2022-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-03
  • 1970-01-01
  • 2010-10-05
  • 2016-08-28
  • 2018-05-13
相关资源
最近更新 更多