You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wildfly 17.0.1-final(Java 11)BinderService内存泄漏问题求助

Wildfly 17.0.1-final(Java 11)内存泄漏排查:BinderService实例堆积问题

我在Java 11环境下运行Wildfly 17.0.1-final服务器,近期尝试让服务器持续运行而非每日重启,却遭遇OutOfMemoryError,正在排查内存泄漏问题。

JSTAT初步观测

运行数小时后,通过jstat查看内存使用情况(E=新生代伊甸区,S=幸存区0+1,O=老年代,M=元空间):

2024-02-05 14:19:01 :   757 Mo            [ E=   56 ; S=   32 ; O=  427 ; M=  242 ]

运行数日后:

2024-02-08 14:57:02 :  1562 Mo            [ E=  164 ; S=   20 ; O= 1109 ; M=  269 ]

可见老年代内存72小时内增长了700MB。

内存转储分析

生成内存转储文件并使用MAT(Eclipse Memory Analyzer)分析:服务器刚启动时内存占用300MB,运行60+小时后达到900MB。第二次转储显示MSC注册表存在内存泄漏:

由「Module Class Loader for module org.jboss.msc」加载的一个「org.jboss.msc.service.ServiceControllerImpl」实例占用610 317 912字节(65.09%),内存集中在一个「java.lang.Object[]」实例中,该实例占用610 310 360字节(65.08%)。

线程「org.jboss.msc.service.ServiceContainerImpl$ServiceThread @ 0x3c01e4968 MSC service thread 1-1」持有指向「org.jboss.msc.service.ServiceContainerImpl @ 0x3c09140e8」的局部变量或引用,后者是通向「java.lang.Object[47427] @ 0x3f0d928d8」的最短路径。该线程持有的局部变量总大小为4 552字节(0.00%)。

查看占用600MB内存的对象数组,发现其中包含32248个org.jboss.as.naming.service.BinderService实例。

已定位到泄漏点,但不知如何解决?是否有办法清理这些BinderService实例?谷歌上未找到相关内存泄漏的解决方案,恳请提供帮助。

内容的提问来源于stack exchange,提问作者grrosminet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 09:10:03