AIX5.3 weblogic9.2速度很慢问题的解决过程


问题描述:
 开始的时侯采用的是32位JDK,但是部署应用的时侯总是out of memory,后来改用64位JDK,使用64位JDK之后没有aix 64位 native lib,最后从BEA工程师那取得了64位lib依然无法使用。没有使用native lib无法使用native io,服务刚启动的时侯速度还可以接受,到第二天就变得非常慢。从bea工程那获得了64位 native lib但是还是用无法使用native io.安装了所有jdk和weblogic的补丁系统依然很慢,native io依然无法使用.
解决过程:
1.从BEA esupport网站注册支持帐号,并打800-810-2327使用支持帐号获得授权
2.用smart update安装http://e-docs.bea.com/platform/suppconfigs/configs/ibm_aix/ibm_aix53_92.html列出的private patch .用smart update安装补丁必须得有授权的支持帐号。
3.bea 800工程师获得aix 64位 native lib后,navtive io 依然无法使用,一启动server就core dump.
4.用dbx分析系统core文件结果在Java_weblogic_socket_PosixSocketMuxer_initNative方法core dump 如下
/usr/java5_64/jre/bin #dbx /usr/java5_64/jre/bin/java /bea/user_projects/domains/zydomainbak/core.20080711.014920.602246.dmp
Type 'help' for help.
[using memory image in /bea/user_projects/domains/zydomainbak/core.20080711.014920.602246.dmp]
reading symbolic information ...
J9 DBX plugin loaded
plug-in "/usr/java5_64/jre/bin bdbx_j9.so" loaded

IOT/Abort trap in pthread_kill at 0x9000000004a77e8 ($t1)
0x9000000004a77e8 (pthread_kill+0x88) e8410028 ld r2,0x28(r1)
(dbx) where
pthread_kill(??, ??) at 0x9000000004a77e8
_p_raise(??) at 0x9000000004a7224
raise.raise(??) at 0x900000000062940
abort() at 0x90000000008de84
j9dump_create() at 0x900000000b32fdc
doSystemDump() at 0x900000000b92b94
protectedDumpFunction() at 0x900000000b93180
j9sig_protect() at 0x900000000b3146c
runDumpFunction() at 0x900000000b947fc
triggerDumpAgents_28_27() at 0x900000000ba0ef8
dumpCrashData() at 0x900000000ad7a90
j9sig_protect() at 0x900000000b3146c
structuredSignalHandler() at 0x900000000ad7d88
masterSynchSignalHandler() at 0x900000000b316d4
initializeLoopbackSocket(0x11390b100) at 0x900000001723ba0
Java_weblogic_socket_PosixSocketMuxer_initNative(0x11390b100, 0x114bfe0d8) at 0x9000000017246cc
VMprJavaSendNative(), line 679 in "jnisend.s"
java_lang_Class_newInstanceImpl(), line 1696 in "jlcls_x.s"
java_lang_J9VMInternals_initializeImpl(), line 540 in "internals.s"
resolveStaticMethodRef(), line 2110 in "ressup.s"
resolveHelper(), line 1377 in "javamisc.s"
javaProtectedThreadProc() at 0x900000000adbddc
j9sig_protect() at 0x900000000b3146c
javaThreadProc() at 0x900000000adc47c
thread_wrapper() at 0x900000000aa7f20
5.bea工程师让用ulimit -a 查看nofiles 参数 结果现显unlimited 然后用 ulimit -n 8192 设置了nofiles参数之后,libmuxer.so就可以加载了,native io可以使用
nofiles这个参数在weblogic92/common/bin/commEvn.sh 中resetFD 中有设置。但是之前BEA的另外一个工程师让我们同事把它注释了,所以导致libmuxer.so无法加载
6.重新打开weblogic92/common/bin/commEvn.sh中的resetFD native io 可以使用,经过一段时间观察,系统稳定,web应用的性能提高了5倍以上

参考链接
weblogic92 aix5.3下的安装说明 http://e-docs.bea.com/platform/suppconfigs/configs/ibm_aix/ibm_aix53_92.html
aix 5.3的JDK http://www.ibm.com/developerworks/java/jdk/aix/service.html

你可能感兴趣的:(JAVA)