那就表示系統不知道xxx.so 放在哪個目錄下。
這個時候就要在/etc/ld.so.conf中加入xxx.so所在的目錄。
一般而言,有很多so檔會在/usr/local/lib這個目錄下,所以在/etc/ld.so.conf中加入/usr/local/lib這一行,可以解決此問題。
將 /etc/ld.so.conf存檔後,還要執行「/sbin/ldconfig –v」來更新一下才會生效。
那就表示系統不知道xxx.so 放在哪個目錄下。
這個時候就要在/etc/ld.so.conf中加入xxx.so所在的目錄。
一般而言,有很多so檔會在/usr/local/lib這個目錄下,所以在/etc/ld.so.conf中加入/usr/local/lib這一行,可以解決此問題。
將 /etc/ld.so.conf存檔後,還要執行「/sbin/ldconfig –v」來更新一下才會生效。
Problem |
Garbage Collection (GC) logs are huge and cannot be contained in a single file or takes up too much space. |
Cause |
Space and file size constraints, especially in production environments can be a good reason to start using circular logging. |
Solution |
The format is as follows: -Xverbosegclog:[DIR_PATH][FILE_NAME]#,X,Y For example: -Xverbosegclog:/usr/eai/IBM/orb#.log,5,2 The above example generates 5 files in /usr/eai/IBM path under the names orbtrc1.log, orbtrc2.log, etc up to orbtrc5.log, each containing 2 GC occurrences. |
Problem |
This document is designed to help you collect data for problems related to running out of memory. Gathering specific information before calling IBM Support will help you communicate the problem and save time analyzing the data. |
Solution |
Garbage collector output (verbose:gc), javacore files, and heapdumps may all be helpful in diagnosing out of memory issues with WebSphere® InterChange Server. If you have already contacted IBM Support, continue reading to begin collecting WebSphere InterChange Server MustGather data. Otherwise, please consult WebSphere Interchange Server MustGather: read first. Collecting JVM specific information Enabling and collecting verbose:gc Verbose:gc logs provide statistics on the state of memory during every garbage collection. To enable verbose:gc, add the verbose:gc flag to the Java™ executable file in the startup script. Then restart InterChange Server to activate verbose:gc logging. To enable verbose:gc logging, refer to the instructions that follow for your platform. .
Collecting heapdumps and javacore files Heapdumps contain a list of objects in the Java heap. They are usually created when an out of memory situation occurs in WebSphere InterChange Server. A heapdump can also be forced when a user sends a particular signal to the Java process. The heapdump file can be very large, so ensure that adequate disk space is available. To enable heapdumps, refer to the instructions that follow for your platform.
You can add the variables to the ics_manager script or to the profile. Restart InterChange Server to activate heapdumps. Check that heapdumps has been activated by sending a kill -3
You can add the variables to the start_server.bat script or to the Windows environment. Restart InterChange Server to activate heapdumps. Check that heapdumps have been activated by sending a Ctrl-Break signal in the InterChange Server console window. The InterChange Server process will be momentarily interrupted to write the heapdump, but will not be killed. A message will be logged indicating the exact location of the heapdump file. Sending diagnostic information to IBM Technical Support To send diagnostic information to IBM Technical Support, follow the instructions in the document Exchanging information with IBM Technical Support for problem determination. For a list of all technotes, downloads, and educational materials specific to WebSphere Interchange Server, search the WebSphere Interchange Server support site. |
| |||
Cause | |||
The java.lang.OutofMemory exception in the InterchangeSystem.log or ics_manager.log can caused by several things. This technote addresses situations where the WebSphere InterChange Server JVM might require some tuning on AIX, which in turn might require to move to a higher AIX memory model. To understand more about using higher AIX memory models, please see the link in the Related URL section of this technote. | |||
Resolving the problem | |||
Follow these steps to tune AIX: 1. Change the value for Xmx to either 756 Mb or 1024 Mb, or higher if the application you are using requires it. To change the Xmx value, change the CW_MEMORY_MAX value in the # For ICS server the "maximum Java heap size" is defined by this variable CW_MEMORY_MAX=756 2. In the ics_manager script, located in the os_seg_size=256 num_segs=`expr 9 - $CW_MEMORY_MAX / $os_seg_size` ldr_var=0x"$num_segs"0000000 export LDR_CNTRL=MAXDATA=$ldr_var Add the following section: export IBM_JAVA_MMAP_JAVA_HEAP=true export LDR_CNTRL=MAXDATA=0xA0000000@DSA The script file should look like this after you have made the changes: -------------------- ### OS is being setup in CWSharedEnv.sh ### On AIX we have to setup this variable for the JVM to use if [ "${OS}" = "AIX" ] then # os_seg_size=256 #num_segs=`expr 9 - $CW_MEMORY_MAX / $os_seg_size` #ldr_var=0x"$num_segs"0000000 #export LDR_CNTRL=MAXDATA=$ldr_var export IBM_JAVA_MMAP_JAVA_HEAP=true export LDR_CNTRL=MAXDATA=0xA0000000@DSA fi exec $JAVA_ICS -classpath "${CWCLASSES}" ServerWrapper -s${SERVERNAME} ${var_options} -design ) >${var_outputlog} 2>&1 & PROCESSID=$! echo "Logging output to ${var_outputlog}" -------------------------------------------------------------------------------------------------------------- Things to be aware of when using this memory model on AIX: 1. Ensure that your system is not paging after you make the preceding changes. Your applications can run more slowly if the system starts paging. 2. Use large heap values (Xmx) around 2 GB with caution and only if necessary. For higher values of Xmx ( over 1.75 GB), 0xB0000000@DSA is recommended to provide the highest possible native heap space (the number 1.75 GB is just an approximation, because there can be several threads used in the process). Ensure that your system is not paging after you make the change. 3. The OutofMemory exception can be caused due to fragmentation as well. If that is the case, increasing the Xmx value might not help. You will need to take other steps to address that issue. Refer to the following link for a description of the steps you can take: http://www-128.ibm.com/developerworks/java/jdk/diagnosis/142.html 4. As the Xmx is increased to higher values, the garbage collection cycles can take longer. | |||
Related information |
Getting more memory for java applications on AIX |