on 06-22-2012 4:38 PM
Hello,
On our SAP PI apps, J2ee process restarts automatically with "Fatal: Caught outofmemoryError! Node will exit with exit code 666 java.lang.outofmemoryError". It has been working fine for sometime. But now, I am not sure for what reason, it restarts by itself. I find huge entries like this in our developer trace file of J2ee process..
[Unloading class jsp._sapportalsjsp_NavigationForms]
[Unloading class sun.reflect.GeneratedMethodAccessor250]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor232]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor179]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor299]
[Unloading class sun.reflect.GeneratedMethodAccessor313]
[Unloading class sun.reflect.GeneratedMethodAccessor306]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor107]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor6]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor393]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor14]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor255]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor104]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor451]
These are the JVM parameters for our server process..
-Djava.security.policy=./java.policy
-Djava.security.egd=file:/dev/urandom
-Dorg.omg.CORBA.ORBClass=com.sap.engine.system.ORBProxy
-Dorg.omg.CORBA.ORBSingletonClass=com.sap.engine.system.ORBSingletonProxy
-Djavax.rmi.CORBA.PortableRemoteObjectClass=com.sap.engine.system.PortableRemoteObjectProxy
-Djco.jarm=1
-XX:MaxPermSize=256M
-XX:PermSize=512M
-Xms1024M
-XX:NewSize=320M
-XX:MaxNewSize=171M
-XX:+DisableExplicitGC
-verbose:gc
-Xloggc:GC.log
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-Djava.awt.headless=true
-Dsun.io.useCanonCaches=false
-XX:SoftRefLRUPolicyMSPerMB=1
-XX:SurvivorRatio=2
-XX:TargetSurvivorRatio=90
-XX:+UseParNewGC
-XX:+HandlePromotionFailure
-Dorg.omg.PortableInterceptor.ORBInitializerClass.com.sap.engine.services.ts.jts.ots.PortableInterceptor.JTSInitializer
-Djava.io.tmpdir=C:\WINDOWS\Temp
-Dcm.tmpdir=C:\WINDOWS\Temp
We are currently on Windows 2003 SP2 version (64 bit version), J2ee 7.0 SP18 and Oracle 11.2.0.2 version. We have JDK 1.4.2_17 ver installed on our servers.
Physical RAM 8GB, Swap space 20GB
I tried increasing the max heap size (-Xmx) and initial heap size (-Xms) to 2GB and other relevant Perm and New size according to SAP note 723909, at this point the java server0 process starts but the SAP PI repository page is displayed only half, i can view only the top layer i.e. Tools and Administration, i cannot view Integration Directory, Integration Repository, RWB and SLD.
The page is just Plain, with no error in the std_server0, dev_server0, defaulttrace.
Please let me know your thoughts on this issue.
Regards
Hemang
Hi,
I can see that some parameters like PermSize etc. are not as per SAP recommendation. Please make sure that you set all memory parameters as per SAP note 723909.
Thanks
Sunny
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sunny,
I tried setting the max heap size (-Xmx) and initial heap size (-Xms) to 2GB and other relevant Perm and New size according to SAP note 723909, at this point the java server0 process starts but the SAP PI repository page is displayed only half, i can view only the top layer i.e. Tools and Administration, i cannot view Integration Directory, Integration Repository, RWB and SLD.
The page is just Plain, with no error in the std_server0, dev_server0, defaulttrace.
Thanks & Regards
Hemang
HI Hemang,
In order to find out what objects of which classes fill up the memory, you should create heapdumps and analyze them using memory analyzing tools such as eclipse memory analyzer.
Please check that -XX:-HeapDumpOnOutOfMemoryError
VM parameter has been added to the server node VM settings in the configtool. As a result *.hprof files will be created which can be analyzed by eclipse memory analyzer. It will show the content of the heap. Please find further information here:
http://docwiki.cisco.com/wiki/How_to_analyze_heap_dumps
Please also restart the cluster after changing the heap settings to take affect. XI/PI is a resource demanding tool, you can use the following note to reduce memory consuption
862405 - XI Configuration Options for Lowering Memory |
Kind regards
Hi Everybody,
My apologies for the late response, i am still facing the Outof MemoryError 666.
Let me explain the scenario,
We have already applied the memory parameters according to SAP note 723909, but we received the same error.
We had received the OutofMemoryError 666 20 days back and we did a DB restore, after which the SAP DEV Apps was working fine for 7 days.Yesterday the JAVA team deployed in-house developed JAVA applicaion on the SAP J2ee engine, after which the system is again giving OutOfMemoryError 666.
With respect to the scenario explained above, can you help me to analyze the issue and suggest if it is result of parameter settings, Oracle Database or the Deployment of In-house developed JAVA Application.
We are also following up with SAP and we have generated the heapdump and shared the same with them.
Thanks & Regards
Hemang
Hi,
Please increase heap memory if you have sufficient memory on the server.
Thanks
Sunny
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.