Java Websphere内存不足问题-8.0.0.12-com.ibm.xml.xlxp2.scan.util.SymbolMap

Java Websphere内存不足问题-8.0.0.12-com.ibm.xml.xlxp2.scan.util.SymbolMap,java,web-services,jakarta-ee,out-of-memory,websphere,Java,Web Services,Jakarta Ee,Out Of Memory,Websphere,我们正在使用WebSphere8.0.0.12来托管JAX-WSWebServices(使用CXF)。websphere的内存每天都在增加,每5到6天就会出现一次“内存不足”(每天约300000个请求)。堆空间设置为1 GB 在使用EclipseMat检查堆转储时,我们看到下面的类占用了将近800MB的堆 Problem Suspect 1 The class "com.ibm.xml.xlxp2.scan.util.SymbolMap", loaded by "<system class

我们正在使用WebSphere8.0.0.12来托管JAX-WSWebServices(使用CXF)。websphere的内存每天都在增加,每5到6天就会出现一次“内存不足”(每天约300000个请求)。堆空间设置为1 GB

在使用EclipseMat检查堆转储时,我们看到下面的类占用了将近800MB的堆

Problem Suspect 1
The class "com.ibm.xml.xlxp2.scan.util.SymbolMap", loaded by "<system class loader>", occupies 731,574,968 (66.22%) bytes. The memory is accumulated in one instance of "com.ibm.xml.xlxp2.scan.util.Symbol[]" loaded by "<system class loader>".

Keywords
com.ibm.xml.xlxp2.scan.util.Symbol[]
com.ibm.xml.xlxp2.scan.util.SymbolMap

  Problem Suspect 2
One instance of "com.ibm.xml.xlxp2.scan.util.DataBuffer" loaded by "<system class loader>" occupies 134,217,792 (12.15%) bytes. The memory is accumulated in one instance of "byte[]" loaded by "<system class loader>".

Keywords
com.ibm.xml.xlxp2.scan.util.DataBuffer
byte[]
问题可疑1
由“”加载的类“com.ibm.xml.xlxp2.scan.util.SymbolMap”占用731574968(66.22%)字节。内存累积在由“”加载的“com.ibm.xml.xlxp2.scan.util.Symbol[]”的一个实例中。
关键词
com.ibm.xml.xlxp2.scan.util.Symbol[]
com.ibm.xml.xlxp2.scan.util.SymbolMap
问题疑犯2
由“”加载的“com.ibm.xml.xlxp2.scan.util.DataBuffer”的一个实例占用134217792(12.15%)字节。内存累积在由“”加载的“byte[]”的一个实例中。
关键词
com.ibm.xml.xlxp2.scan.util.DataBuffer
字节[]
我已经阅读了一些指向websphere补丁的文章


请任何人解释一下SymbolMap/DataBuffer的用途以及解决此问题的方法。(补丁除外)。

您可以在jvm上设置自定义属性

com.ibm.xml.xlxp2.scan.util.SymbolMap.maxSymbolCount=64000

IBMStax是一个解析器实现,它处理XML文档以实现高效使用。它扫描XML文档并缓存XML符号。缓存的增长可能会导致内存不足问题。64000是符号贴图大小的建议值。此系统属性由APAR引入。也可能有助于理解与IBM stAX相关的内存不足问题。

您可以在jvm上设置自定义属性

com.ibm.xml.xlxp2.scan.util.SymbolMap.maxSymbolCount=64000

IBMStax是一个解析器实现,它处理XML文档以实现高效使用。它扫描XML文档并缓存XML符号。缓存的增长可能会导致内存不足问题。64000是符号贴图大小的建议值。此系统属性由APAR引入。也可能有助于理解与IBM stAX相关的内存不足问题。

IBM已经发布了一份APAR来解决这个问题。请参见

IBM发布了一份APAR来解决这一问题。请参见

请扩展您的答案,以包含有关此自定义JVM属性的更多信息。当实现此属性时,内部会发生什么?请扩展您的答案,以包含有关此自定义JVM属性的更多信息。当实现此属性时,内部会发生什么?