|
|
Problem |
While starting or running the engine on a UNIX platform an out of memory error is generated. The component that logs the error may vary because the out of memory condition can occur at different processing points. |
Resolution
|
Check the user environment and increase the ulimit values for data, stack, heap, and memory (the values actually required are process dependent). You must stop and restart the agent for the increased ulimit values to be used. and/or The default maximum value of the jvm heap could also be inadequate for the memory requirements of the tasks performed by the java components of the engine during execution of the business process. Use the "-Xmx<value>m" flag for the Custom JVM Startup Options runtime instance configuration property to allow the jvm to allocate more memory as required. The default value is 64M; increasing the value to 512M may resolve the memory issue. |
|
|
Problem |
psengine fails to start on a UNIX platform, a core file may be produced, and the NNSYMessageLog.nml file contains an error entry similar to the following. 2004-03-31 16:57:59.066|psengine|56600|1|EPEPlugin|38|Info|?|JVM init OK...... 2004-03-31 16:57:59.575|psengine|56600|1|INFR|INFR|Error|?|Failed in dlopen() for library name 'libdvjms41jni.so'. Full reason text: There is not enough memory available now. 2004-03-31 16:57:59.588|psengine|56600|1|PS|TRANSPORT_CREATE_FAILED_MSG|Critical|Transport|Create Transport Resource2 failed. [Code: 307 Msg: File: /home/src/cc_tags/stack_base/oti_4.1_tag_3/ot/server/NNOTDirectory.cpp Line: 281 An attempt was made to bind to the function 'OTJMSTransportFactory' in the shared library 'dvjms41jni', but an error occurred. The operating system returned this error message: 'Failed in dlopen() for library name 'libdvjms41jni.so'. Full reason text: There is not enough memory available now.'.] 2004-03-31 16:57:59.620|psengine|56600|1|PS|RETRY_RESOURCE|Warning|Engine|The resource (Resource2) failed connection, sleeping for 0 seconds (retry 1 of 1). When the "-Xmx<value>m" flag for the Custom JVM Startup Options runtime instance configuration property is specified, a test allocation of the total memory available to the jvm takes place during initialization. a problem amy occur if there is inadequate remaining memory available to the C++ components of psengine during its initialization. The test allocation may not have released the memory prior to the engine's attempt to connect to the transport/database resources. |
Resolution |
Confirm the value used for the maximum JVM heap size is small enough to leave adequate memory for the non-java components to initialize. A value less than 1536 is recommended. |
|
|
|
|
Problem |
Errors are reported during startup indicating memory allocations have been exceeded, a system core indicating an out of memory error, a system core that is unexplained or prevents logging can indicate that the memory variable settings should be increased. The psengine.log file contains the following entry: Unable to alloc heap of requested size, perhaps the maxdata value is too small - see README.HTML for more information. **Out of memory, aborting** *** panic: JVMST017: Cannot allocate memory in initializeMarkAndAllocBits(markbits1) This can occur when a value for the max jvm heap size is specified, using the Custom JVM Startup Options runtime instance configuration property to set the "-Xmx<value>m" flag, and is incompatible with the system value of MAXDATA. |
Resolution
|
Check the user environment and increase the ulimit values for data, stack, heap, and memory (the values actually required are process dependent). You must stop and restart the agent for the increased ulimit values to be used. and/or The default maximum value of the jvm heap could also be inadequate for the memory requirements of the tasks performed by the java components of the engine during execution of the business process. Use the "-Xmx<value>m" flag for the Custom JVM Startup Options runtime instance configuration property to allow the jvm to allocate more memory as required. The default value is 64M; increasing the value to 512M may resolve the memory issue. |
|
|
Problem |
psengine fails to start on a UNIX platform, a core file may be produced, and the NNSYMessageLog.nml file contains an error entry similar to the following. 2004-03-31 16:57:59.066|psengine|56600|1|EPEPlugin|38|Info|?|JVM init OK...... 2004-03-31 16:57:59.575|psengine|56600|1|INFR|INFR|Error|?|Failed in dlopen() for library name 'libdvjms41jni.so'. Full reason text: There is not enough memory available now. 2004-03-31 16:57:59.588|psengine|56600|1|PS|TRANSPORT_CREATE_FAILED_MSG|Critical|Transport|Create Transport Resource2 failed. [Code: 307 Msg: File: /home/src/cc_tags/stack_base/oti_4.1_tag_3/ot/server/NNOTDirectory.cpp Line: 281 An attempt was made to bind to the function 'OTJMSTransportFactory' in the shared library 'dvjms41jni', but an error occurred. The operating system returned this error message: 'Failed in dlopen() for library name 'libdvjms41jni.so'. Full reason text: There is not enough memory available now.'.] 2004-03-31 16:57:59.620|psengine|56600|1|PS|RETRY_RESOURCE|Warning|Engine|The resource (Resource2) failed connection, sleeping for 0 seconds (retry 1 of 1). When the "-Xmx<value>m" flag for the Custom JVM Startup Options runtime instance configuration property is specified, a test allocation of the total memory available to the jvm takes place during initialization. a problem may occur if there is inadequate remaining memory available to the C++ components of psengine during its initialization. The test allocation may not have released the memory prior to the engine's attempt to connect to the transport/database resources. |
Resolution |
Confirm that the psengine wrapper command in the server's bin folder contains the following line and that the value used for the maximum JVM heap size is set appropriately. The exact value is both process dependent and site dependent. While a value less than 1536 will generally be appropriate, your site administrator can assist in determining an appropriate value based on the processes you system is running and your site system resources. export LDR_CNTRL=MAXDATA=0x80000000 For additional information, see Configuring Non-Default Memory Variables on AIX. |
|
|