Reducing the chances of OutofMemoryError in SAP XI

If you have restrictions on the maximum heap memory that can be allocated for J2EE engine, chances of OOM error can be reduced by reducing maximum message size and messages/mappings that can be processed in parallel. Following are few suggestions:

1. Reduce the number of parallel mappings.

Reduce "Number of Connections" for the destination AI_RUNTIME_JCOSERVER in JCo RFC Provider service.
This will reduce the maximum number of simultaneous mapping requests that can be made, reducing memory consumption.

2. Reduce the number of threads allocated for each adapter.

By reducing the number of threads allocated for each adapter, the number of messages that are processed in parallel can be reduced. You can control the thread allocation for each adapter by customizing messaging.connectionDefinition property in the service SAP XI AF Core.
 

Check http://sapnwnewbie.blogspot.com/2010/10/threads-per-adapter-type-and-receiver.html

3. Reduce the time interval within which the synchronous messages are deleted.

If you have a large synchronous message traffic, increase the frequency at which the synchronous messages are removed from memory. The default is one day. Reduce the time interval by changing messaging.syncMessageRemover.checkInterval in SAP XI AF Messaging service.

4. Set limit on the maximum size of the file that can be picked by File Sender.

The File Sender channel can be made to error out if it has polled a large file. Limit on the maximum size of the file that can be picked by File Sender can be set by adding "Maximum File Size" property in Advanced Mode. If a large file is polled, the channel will error out. The channel may be erconfigured to pick the large file during low load times to avoid OOM error.

5. Set limit on the maximum message size on JDBC Sender channel.

The JDBC Sender channel can be made to error out if it has fetched a large amount of data. A limit on message size can be set by adding the following parameters in Advanced Mode:

msgLimit        true/false
maxMsgSize        Message size in KB
maxRowSize        Size of a row in KB
msgLimitErrorInterval    Time (in seconds) the CC will wait for next poll following the error

Check SAP Notes 1296819 and 1253826 for more details.



Comments

Popular posts from this blog

OS/DB Migration - CMD. STR, TOC, EXT, R3load, DDLDBS.TPL and more

Fixing Inconsistent Table - Table activation fails due to inconsistency between DD and DB

301 Redirect Using SAP Web Dispatcher