cancel
Showing results for 
Search instead for 
Did you mean: 

java.lang.OutOfMemoryError during transfer of large data from SAP to PI

Former Member
0 Kudos

Hi experts,

We are trying to transfer large data from SAP to external system via PI but the transfer stucked in sm58 of SAP system with 'error java.lang.OutOfMemoryError'. We have tested before this and we can only get approximately 100K of records to go through successfully. We neeed approximately transfer 300k datas per time. Current setting of max heap size (in mb) of our PI system is 512 at message server and bootstap tab. At servers general tab the max heap size (in mb) is 2048 and its java parameters are having the values below:

-Xmx1024m

-Xms1024m

-Djco.jarm=1

-XX:PermSize=512m

-XX:MaxPermSize=512m

-XX:NewSize=320m

-XX:MaxNewSize=320m

What need to be increased to solve the error?

Thanks.

Regards,

Thava

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

Please see if this the note [1502676|https://websmp230.sap-ag.de/sap/support/notes/] - Scaling up large PI installations can be helpful.

This note talks about many enhancements for PI java servers.

Br,

Venky.

former_member854360
Active Contributor
0 Kudos

Hi,

Refer the 723909,

Check your memory settings according to the PI guide

http://help.sap.com/saphelp_nwpi71/helpdata/en/43/73949862c16fcbe10000000a1553f6/content.htm

add the parameter -XX:+HandlePromotionFailure to the JVM settings

Former Member
0 Kudos

Check Debashish Link, you need to increment java heap size -Xmx parameter

Former Member
0 Kudos

Hi Debanish,

in config tool there is no expert mode selection at instance of the cluster data. I dont see the parameter below in servers general tab of the instance.

add the parameter -XX:+HandlePromotionFailure to the JVM settings

Should I just add at the servers general tab?

Now I have increased the the parameter below for instance and restarted the system but no help. Same error.

-XX:PermSize=1024m

-XX:MaxPermSize=1024m

Should I do the same in dispatcher and server of teh instance?

Thanks.

Thava

anupam_ghosh2
Active Contributor
0 Kudos

Hi Thava,

We can set a limit on the request body message length that can be accepted by the HTTP Provider Service on the Java dispatcher. The system controls this limit by inspecting the Content-Length header of the request or monitoring the chunked request body (in case chunked encoding is applied to the message). If the value of the Content-Length header exceeds the maximum request body length, then the HTTP Provider Service will reject the request with a 413 u201CRequest Entity Too Largeu201D error response. You can limit the length of the request body using the tting MaxRequestContentLength property of the HTTP Provider Service running on the Java dispatcher. By default, the maximum permitted value is 131072 KB (or 128MB).You can configure the MaxRequestContentLength property using the Visual Administrator tool. Proceed as follows:

1. Go to the Properties tab of the HTTP Provider Service running on the dispatcher.

2. Choose MaxRequestContentLength property and enter a value in the Value field. The length is specified in KB.

3. Choose Update to add it to the list of properties.

4. To apply these changes, choose (Save Properties).

The value of the parameter MaxRequestContentLength has to be set to a high value.

In short parameters to reset values for ABAP side are

icm/HTTP/max_request_size_KB

icm/server_port_ TIMEOUT

rdisp/max_wprun_time

zttp/max_memreq_MB

Parameter to reset values for JAVA side is MaxRequestContentLength.

You can use following link to know more about ICM parameters

http://help.sap.com/saphelp_nw04/helpdata/EN/61/f5183a3bef2669e10000000a114084/frameset.htm

http://help.sap.com/saphelp_nw04/helpdata/EN/25/b0a4f6f2b03a43a727a165a4d6a555/frameset.htm

regards

Anupam

naveen_chichili
Active Contributor
0 Kudos

Hi Thava,

Please go through the notes #994433,#1173398,#1120872 which resolves your issue.

Thanks and Regards,

Naveen

Former Member
0 Kudos

Hi anupamsap,

MaxRequestContentLength is already set to value 131072 in dispatcher of PI system for HTTP Provider service.

So I think this is not the solution.

Thanks.

Regards,

Thava