【问题标题】:Tomee Jaxrs 1.7.1 + Mojarra 2.29 Memory LeakTomee Jaxrs 1.7.1 + Mojarra 2.29 内存泄漏
【发布时间】:2015-04-02 17:41:08
【问题描述】:

我正在使用 Tomee、Primefaces 5.0 和 Apache SHiro。

当我启动服务器时,它会消耗 600 Mb 的内存。 如果我打开和关闭某个页面,该页面包含大量信息,但与 ViewScoped bean 相关,则内存使用量为 1.6 GiB。如果我打开其他东西,即使是 RequestScopped bean,也会发生同样的事情。 我已经检查并调用了 PreDestroy 方法,所以不是我的问题。

使用 Eclipse 内存分析器:

“org.apache.openejb.core.WebContext”的一个实例由加载 “org.apache.catalina.loader.StandardClassLoader@0xa34f0cf0”占用 1,189,717,200 (97.83%) 字节。记忆累积在一 “java.util.concurrent.ConcurrentHashMap$Segment[]”的实例已加载 通过“系统类加载器”。

关键字 java.util.concurrent.ConcurrentHashMap$Segment[] org.apache.openejb.core.WebContext org.apache.catalina.loader.StandardClassLoader @ 0xa34f0cf0

当我运行 shutdown.sh 时,我在 catalina.out 中有以下内容

org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE:Web 应用程序 [/projeto-bim] 创建了一个具有类型键的 ThreadLocal [org.apache.shiro.util.ThreadContext.InheritableThreadLocalMap](值 [org.apache.shiro.util.ThreadContext$InheritableThreadLocalMap@5720d785]) 和 [java.util.HashMap] 类型的值(值 [{org.apache.shiro.util.ThreadContext_SECURITY_MANAGER_KEY=org.apache.shiro.web.mgt.DefaultWebSecurityManager@2d258973, org.apache.shiro.util.ThreadContext_SUBJECT_KEY=org.apache.shiro.web.subject.support.WebDelegatingSubject@7b62f42c}])但在 Web 应用程序停止时未能将其删除。线程 将随着时间的推移而更新,以尽量避免可能的记忆 泄漏。

我尝试了几件事,例如在 web.xml 中设置一些配置以仅维护一个会话或设置 Tomee 以将会话信息保存在磁盘上,但没有任何效果。

我该怎么办?

// 新信息: 内存达到 1.6 GiB 并停止,因为这是我的最大堆空间。 Web 服务器开始抛出 OutOfMemoryError。我会尝试增加它以查看它使用了多少。

好的。现在我将 java 堆空间增加到 3 GB。我的应用程序全部使用了它。显然是内存泄漏,因为每次打开某个页面,其中包含大量信息,内存就增加了 300 Mb,并且从未减少! 我能做什么?

【问题讨论】:

    标签: java jakarta-ee primefaces memory-leaks apache-tomee


    【解决方案1】:

    我没有看到任何与任何泄漏有关的事情。

    WebContext 绑定到您在 TomEE 中的 webapp(通常您在应用运行时会看到它)

    那么所有警告都只是 apache shiro 在您的 web 应用程序中,并使用 threadlocal 来保持线程的安全上下文。由于它是由 web 应用程序加载的,它可能会造成泄漏,但除了修补 shiro 你无能为力。

    【讨论】:

    • 那么来自 Eclipse 内存分析器的报告只是误报?像这样的 Web 应用程序消耗超过 2 GB 的内存是否正常?
    • 不不,我说的是您原始帖子的数据无助于诊断您看到的泄漏。
    猜你喜欢
    • 2015-06-29
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 2013-01-20
    • 2011-10-31
    • 2019-08-10
    相关资源
    最近更新 更多