Reputation: 1348
We are using websphere 8.0.0.12 to host our JAX-WS webservices (using CXF) . The memory of websphere is increasing daily and we are ending up with an "Out of Memory" every 5 to 6 days ( ~ 300,000 requests per day). The heap space is set to 1 GB.
Upon checking the heap dump using eclipse MAT, we see that the below classes occupy almost 800 MB of heap
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[]
I have gone through some posts which point towards a patch for websphere.
Could anyone please explain the purpose of SymbolMap/DataBuffer and way to fix this issue. (except for the patch).
Upvotes: 0
Views: 393
Reputation: 675
You can set a custom property on jvm.
com.ibm.xml.xlxp2.scan.util.SymbolMap.maxSymbolCount=64000
IBM StAX is a parser implementation which process XML documents for efficent usage. It scans XML documents and caches XML symbols. Growth of caching may cause out of memory issues. 64000 is a recommended value for symbol map size. This system property is introduced by APAR PI08415. Also this may help understanding IBM stAX related out of memory issues.
Upvotes: 2
Reputation: 1002
IBM has issued an APAR that addresses this. See http://www-01.ibm.com/support/docview.wss?uid=swg1PI08415
Upvotes: 1