使用 JRockit R28.1.3-11-141760-1.6.0_24-20110301-1432-linux-x86_64 我们在 j2ee 应用程序中遇到内存泄漏,最终导致应用程序停止。到目前为止,我只获得了 2 个 hprof 转储,我使用 eclipse MAT 对其进行了分析。MAT 结果很清楚,但我不确定原因是什么。com.sun.xml.ws.server.WSEndpointImpl 的一个对象具有不断增长的保留堆,在内存转储时为 929 MB(第一次转储时约为 300 MB)。这是支配树的导入部分:
Class Name | Shallow Heap | Retained Heap | Percentage
com.sun.xml.ws.server.WSEndpointImpl @ 0xafaf0f70 | 176 | 929.780.784 | 69,61%
|- com.sun.xml.ws.binding.SOAPBindingImpl @ 0xafaf1160 | 72 | 929.046.360 | 69,56%
| |- com.sun.xml.ws.binding.WebServiceFeatureList @ 0xafaf13e0 | 56 | 929.044.320 | 69,56%
| | '- java.util.HashMap @ 0xafaf1e58 | 80 | 929.044.264 | 69,56%
| | |- java.util.HashMap$Entry[16] @ 0xafaf3058 | 152 | 929.044.160 | 69,56%
| | | |- java.util.HashMap$Entry @ 0xaf9b8f48 | 48 | 928.998.912 | 69,55%
| | | | '- weblogic.wsee.jaxws.EndpointCreationInterceptorFeature @ 0xaf9b8f80| 32 | 928.998.864 | 69,55%
| | | | '- java.util.HashSet @ 0xaf9b92f8 | 24 | 928.998.832 | 69,55%
| | | | '- java.util.HashMap @ 0xaf9b9528 | 80 | 928.998.808 | 69,55%
| | | | |- java.util.HashMap$Entry[32768] @ 0x9462cb88 | 262.168 | 928.998.704 | 69,55%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x9b672ae8 | 40 | 152.104 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xad2a9360 | 40 | 152.104 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xa3949490 | 40 | 152.104 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xa3a332c8 | 40 | 152.104 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x954ef698 | 40 | 151.440 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xb3acff18 | 40 | 148.256 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xa1db8a38 | 40 | 148.000 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xb9d18ee8 | 40 | 148.000 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xbe6bf4d0 | 40 | 147.896 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xa0397080 | 40 | 147.896 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xbf6693f0 | 40 | 147.896 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xc3c4ddb0 | 40 | 143.792 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x82714140 | 40 | 143.792 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xa0347178 | 40 | 143.792 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x919c9948 | 40 | 143.688 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xbb1f6d28 | 40 | 135.960 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x8c3cd118 | 40 | 135.488 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x91d6e950 | 40 | 134.936 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x8abefe80 | 40 | 134.936 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x89f0aaa8 | 40 | 134.736 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xb0f116a8 | 40 | 134.600 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x9da69938 | 40 | 134.392 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x96cae018 | 40 | 134.392 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x88691950 | 40 | 134.040 | 0,01%
| | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xc201f268 | 40 | 134.040 | 0,01%
'- Total: 25 of 36.803 entries
我将不胜感激有关如何进行的任何提示,因为这些是标准的 java / weblogic 类。如果我深入研究对象,我会看到一些 ErrorHandler 对象,因此这些对象可能会累积错误请求,但我对此并不积极,因为我只检查了几个实例。在我开始尝试在测试环境中重现此内容之前,我想寻求您的帮助。
亲切的问候,托马斯