weblogic fot AIX 64 启动出错(Type=Segmentation error vmState=0x00040000)及解决方法

阅读更多
转自 http://www.aixchina.net/club/viewthread.php?tid=28052

环境:

      Oracle WebLogic 10.3.2

        AIX 6

starting weblogic with Java version:
java version "1.6.0"
Java(TM) SE Runtime Environment (build pap6460sr8-20100409_01(SR8))
IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 AIX ppc64-64 jvmap6460sr8-20100401_55940 (JIT enabled, AOT enabled)
J9VM - 20100401_055940
JIT - r9_20100401_15339
GC   - 20100308_AA)
JCL - 20100408_01
Starting WLS with line:
/usr/java6_64/bin/java    -Xms256m -Xmx512m -XX:MaxPermSize=512m -Dweblogic.Name=AdminServer -Djava.security.policy=/u01/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.policy   -da -Dplatform.home=/u01/Oracle/Middleware/wlserver_10.3 -Dwls.home=/u01/Oracle/Middleware/wlserver_10.3/server -Dweblogic.home=/u01/Oracle/Middleware/wlserver_10.3/server -Ddomain.home=/u01/Oracle/Middleware/user_projects/domains/wl_zhiren -Dcommon.components.home=/u01/Oracle/Middleware/oracle_common -Djrf.version=11.1.1 -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger -Djrockit.optfile=/u01/Oracle/Middleware/oracle_common/modules/oracle.jrf_11.1.1/jrocket_optfile.txt -Doracle.domain.config.dir=/u01/Oracle/Middleware/user_projects/domains/wl_zhiren/config/fmwconfig -Doracle.server.config.dir=/u01/Oracle/Middleware/user_projects/domains/wl_zhiren/config/fmwconfig/servers/AdminServer -Doracle.security.jps.config=/u01/Oracle/Middleware/user_projects/domains/wl_zhiren/config/fmwconfig/jps-config.xml -Djava.protocol.handler.pkgs=oracle.mds.net.protocol -Digf.arisidbeans.carmlloc=/u01/Oracle/Middleware/user_projects/domains/wl_zhiren/config/fmwconfig/carml -Digf.arisidstack.home=/u01/Oracle/Middleware/user_projects/domains/wl_zhiren/config/fmwconfig/arisidprovider -Dweblogic.alternateTypesDirectory=/modules/oracle.ossoiap_11.1.1,/modules/oracle.oamprovider_11.1.1 -Dweblogic.jdbc.remoteEnabled=false -Dweblogic.management.discover=true -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/u01/Oracle/Middleware/patch_wls1032/profiles/default/sysext_manifest_classpath:/u01/Oracle/Middleware/patch_jdev1111/profiles/default/sysext_manifest_classpath weblogic.Server







Unhandled exception
Type=Segmentation error vmState=0x00040000
J9Generic_Signal_Number=00000004 Signal_Number=0000000b Error_Value=00000000 Signal_Code=00000033
Handler1=09001000A0B58128 Handler2=09001000A0B4FC98
R0=0000000000000001 R1=0000000116DAD170 R2=09001000A0B3D048 R3=09001000A0B3D178
R4=00000000000001E1 R5=0000000000000000 R6=800000000000F032 R7=3000000000000000
R8=00000000000A3E80 R9=0000000000000000 R10=0000000000000000 R11=F0000000302A3600
R12=0900000007DB6BB0 R13=0000000116DB7800 R14=0000000115E9C940 R15=00000001152D6300
R16=0000000000000007 R17=0000000000000000 R18=09001000A0B5C2E8 R19=09001000A0B3D030
R20=00000001175E1610 R21=0000000115E9C960 R22=00000001152D63A0 R23=0000000000000000
R24=0000000000000001 R25=0000000000000001 R26=09001000A0B43FD0 R27=09001000A0B59880
R28=0000000000000000 R29=0000000000000000 R30=0900000007DB7A70 R31=09001000A0B3CE88
IAR=0900000007DB6BC0 LR=0900000007DB6BB0 MSR=A00000000000D032 CTR=0000000000000000
CR=8200022800000000 FPSCR=8200400000000000 XER=0000000082004000
FPR0 fff80000000000c0 (f: 192.000000, d: -NaNQ)
FPR1 41e0000000000000 (f: 0.000000, d: 2.147484e+09)
FPR2 c1e0000000000000 (f: 0.000000, d: -2.147484e+09)
FPR3 3fe8000000000000 (f: 0.000000, d: 7.500000e-01)
FPR4 4057c00000000000 (f: 0.000000, d: 9.500000e+01)
FPR5 fff800000000000c (f: 12.000000, d: -NaNQ)
FPR6 4028000000000000 (f: 0.000000, d: 1.200000e+01)
FPR7 4030000000000000 (f: 0.000000, d: 1.600000e+01)
FPR8 0053006f0063006b (f: 6488171.000000, d: 4.228017e-307)
FPR9 00650074004d0075 (f: 5046389.000000, d: 9.346098e-307)
FPR10 0078006500720024 (f: 7471140.000000, d: 2.136208e-306)
FPR11 0031002e0063006c (f: 6488172.000000, d: 9.456954e-308)
FPR12 3fe8000000000000 (f: 0.000000, d: 7.500000e-01)
FPR13 4068000000000000 (f: 0.000000, d: 1.920000e+02)
FPR14 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR15 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR16 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR17 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR18 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR19 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR20 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR21 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR22 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR23 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR24 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR25 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR26 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR27 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR28 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR29 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR30 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR31 0000000000000000 (f: 0.000000, d: 0.000000e+00)
Module=/u01/Oracle/Middleware/wlserver_10.3/server/native/aix/ppc64/libmuxer.so
Module_base_address=0900000007DB6000
Target=2_40_20100401_055940 (AIX 6.1)
CPU=ppc64 (16 logical CPUs) (0xf70000000 RAM)
----------- Stack Backtrace -----------
Java_weblogic_socket_PosixSocketMuxer_initNative+0x104 (0x0900000007DB76F4 [libmuxer.so+0x16f4])
(0x0900000007E3D360 [libj9vm24.so+0x4a360])
(0x090000000879B588 [libjclscar_24.so+0x11588])
(0x090000000879BBCC [libjclscar_24.so+0x11bcc])
(0x0900000007E35A4C [libj9vm24.so+0x42a4c])
(0x0900000007E35458 [libj9vm24.so+0x42458])
(0x0900000007E32238 [libj9vm24.so+0x3f238])
(0x0900000007DFFFA8 [libj9vm24.so+0xcfa8])
(0x0900000007E93BB4 [libj9prt24.so+0x3bb4])
(0x0900000007DFFEC8 [libj9vm24.so+0xcec8])
(0x0900000007E7E658 [libj9thr24.so+0x2658])
_pthread_body+0xf0 (0x0900000000724D54 [libpthreads.a+0x3d54])
---------------------------------------
JVMDUMP006I Processing dump event "gpf", detail "" - please wait.
JVMDUMP032I JVM requested System dump using '/u01/Oracle/Middleware/user_projects/domains/wl_zhiren/core.20101028.195330.758636.0001.dmp' in response to an event
Note: "Enable full CORE dump" in smit is set to FALSE and as a result there will be limited threading information in core file.
JVMDUMP010I System dump written to /u01/Oracle/Middleware/user_projects/domains/wl_zhiren/core.20101028.195330.758636.0001.dmp
JVMDUMP032I JVM requested Snap dump using '/u01/Oracle/Middleware/user_projects/domains/wl_zhiren/Snap.20101028.195330.758636.0002.trc' in response to an event
JVMDUMP010I Snap dump written to /u01/Oracle/Middleware/user_projects/domains/wl_zhiren/Snap.20101028.195330.758636.0002.trc
JVMDUMP032I JVM requested Java dump using '/u01/Oracle/Middleware/user_projects/domains/wl_zhiren/javacore.20101028.195330.758636.0003.txt' in response to an event
JVMDUMP010I Java dump written to /u01/Oracle/Middleware/user_projects/domains/wl_zhiren/javacore.20101028.195330.758636.0003.txt
JVMDUMP013I Processed dump event "gpf", detail "".

看了下错误,是启动 Native IO 的时候出错了,如果要启动native io,ulimit -n 的值不可以是unlimited ,必须是个确定的值。执行了 ulimit -n 4096 之后再次启动WebLogic,启动成功。

附上网上找到的关于 Native IO 的说明:

(一) 原理简单说明

服务器启动,就会绑定到相应的端口,并为一个端口分配一个线程以接受连接请求,一旦服务器接受到连接请求并建立好连接以后,监听线程将处理权交给套接字复用器,套接字复用器进行一定的处理,并会负责选择利用那个执行队列并将请求置入其中。当有一个请求进入执行队列,就会有一个空闲的执行县城从该队列里面取走并向调用者返回结果。

(二) 执行队列和执行线程的相关配置

执行线程数量有一定的限制,在服务器启动的时候,就已经形成了一个含有一定数量执行线程的池,执行线程可能跨 servlet,ejb和jdbc等,由于执行线程仅当程序成功结束或者出现异常才能被释放继续处理其他请求,所以如果执行线程执行的不够快,而请求又多的情况下,就会造成执行队列的阻塞。

相关的配置信息有:

server菜单—〉configuration页—〉高级配置—〉Config Execute Queues中的配置项如下:

1、Queue Length队列长度,执行队列的长度

2、Queue Length Threshold Percent 一个百分数,当request的数量达到队列长度的这个比例的时候,weblogic会发出overflow的标志信息。

3、Thread Count 服务器初始创建的执行线程的数量

4、Thread Increase 如果weblogic发出overflow的标志信息,weblogic会尝试增加这个数量的执行线程,以解决处理矛盾。

5、Threads Maximum最大执行线程数

6、Threads Minimum最小执行线程数

7、Thread Priority线程优先级

另外server菜单—〉configuration页—〉tuning子页中还有一些相关的配置:

1、 Stuck Thread Max Time 黏联线程时间,超过这个时间没有返回的执行线程,系统将认为是黏联线程。

2、 Stuck Thread Timer Interval 系统检查黏联线程的时间间隔

如果weblogic认为某个队列中的所有的线程全部黏联的话,weblogic将会增加执行线程的数量。

注意:执行线程的数量一旦增加,目前weblogic不会去减少他,如果增加了一些线程以后再次出现overflow的警告,weblogic会继续增加执行线程的数量,一直到达到上限为止。

(三) 套接字复用器的相关配置

Weblogic带有两个版本的套接字复用器,纯java版和本地接口版(jni),一般来说在访问量小的情况下,java版比jni版性能要好一些,因为jni的API调用会损失一部分性能,但是访问量大的情况,一般都是jni版的性能比较好,所以尽量保证 weblogic实用本地接口版的套接字复用器。

相关的配置参数有两个,在server菜单—〉configuration页—〉tuning子页中的第一个和第二个配置项。

Enable Native IO :启用本地IO,勾选这个配置以后,weblogic就会启用本地接口版的套接字复用器

Socket Readers :如果不选上一个选项,则这个选项可用,也就是说java版的套接字复用器会被启用,并且,java版的复用器会从执行线程中抽出这个比例的线程用于处理socket的请求。(和java客户端访问有关)

你可能感兴趣的:(weblogic fot AIX 64 启动出错(Type=Segmentation error vmState=0x00040000)及解决方法)