IBM Integration Bus Memory Usage FAQ

IBM Integration Bus Memory Usage FAQ are mentioned in IBM support portal http://www-01.ibm.com/support/docview.wss?id=swg21665926. 

Out of 25 questions posted in the technote, i would definitely get 2 or 3 questions posted by Customers every fortnight. Some of the questions that are mainly important for every user using IBM Integration bus are,
6. I see an abend with an out of memory error. What could be causing this failure?
An out of memory error in an abend file indicates the process has terminated as it could not acquire more memory to continue processing. The memory required for processing could be native memory or java heap memory. Investigation would be required to identify why the process was unable to acquire more memory. If using java compute nodes, it is a good practice to tune JVM Heapsize for the environment. Refer to the questions below to gain better understanding of this subject to be able to carry out the investigation.

10. How can I tell if the out of memory is caused due to the DataFlowEngine running out of JVM Heapsize or total process memory?
– When a DataFlowEngine reaches the JVM heap limitations, it typically generates a javacore, heapdump along with a java out of memory exception in the EG stderr/stdout files.
– When the DataFlowEngine runs out of total memory, it may cause the DataFlowEngine to go down or the system to become un-responsive.

15. How do you set the limit of total memory consumed by the DataFlowEngine process?
There is no functionality within the Broker product to set a maximum memory limit on an execution groups. Operating systems may offer such functionality and the user should look into the ways of doing this on HP-UX. However, it should be noted, if a DataFlowEngine limit is set to a value that it needs to exceed, then it will terminate when the request for storage is refused.

20. How do I know if my Integration Node/Server is running out of memory resources?
There are 2 types of memory used by IBM Integration Bus, native heap memory and JVM heap memory. Hence, if the Integration Node/Server is running out of memory resources, it could either be due to native memory exhaustion, where the system runs out of resources, or JVM exhaustion, where the IIB processes run out of JVM heap.
When the system runs out of resources, the system on which IIB is running, could slow down or crash. From IIB perspective, typically you would see abend files in <WMB workpath>/common/errors directory and possibly a core dump. The system log should indicate that system ran out of memory.
When IIB processes runs out of JVM heap, then it is expected to generate an abend file, core dump, javacore and java heap dumps. The stderr file (UNIXes) or console.txt (Windows) typically logs java.lang.outofmemory exceptions.
These are the typical symptoms of an IIB process running out of memory.

21. How can I troubleshoot a problem with my Integration node processes running out of memory?
For memory growth problems, it will be easier to isolate the problem if the message flows deployed to this Integration Server may be distributed across other Integration Servers and problem is
recreated. This helps to eliminate message flows which are not exhibiting the problem. The troubleshooting technique may vary between native memory issues and java memory issues.

Above content is taken from Technote directly. Please refer to IBM IIB Support Portal or IBM Integration Bus infocenter for more specific troubleshooting details.