Weblogic Native IO问题

Weblogic Native IO问题总结(转载)

在网上有不少关于WebLogic Native IO问题的文章,我挑选了3个最典型的例子做一下总结说明:以下的3个案例,虽然都跟Native IO有关,但实际情况不太相同,有相应平台32位跟64位的问题,也有执行权限的问题,希望读者能仔细去辨别。

3.11 典型案例一

a) 平台信息:

OS:AIX5308

JDK:java5_64

WLS:BEA Weblogic Server 10.0

b) 故障现象:

1.启动Weblogic时,服务器启动日志中报如下错误:

Please ensure that libmuxer library is in :’

/usr/java5_64/jre/bin:/usr/java5_64/jre/bin:/usr/java5_64/jre/bin/classic:/usr

/java5_64/jre/bin

:/weblogic/bea/wlserver_10.0/server/native/aix/ppc:/usr/java5_64/jre/bin/j9vm

:/usr/lib’

2. 同时,在系统使用过程中,报如下错误:

You may want to alter your configuration.>

c) 故障分析:

根据经验,以上报错信息表明Weblogic Native IO启动失败。

d) 故障解决:

1. Weblogic Native IO 启用失败,通常是由于系统没有使用与Weblogic 相对应的的JDK版本所致。

2. AIX Weblogic 支持32位和64位的JDK,如果使用64位版本的JDK,需在启动脚本中加指向64位对应的目录,

同时在 commEnv.sh 配置文件中,/weblogic/bea/wlserver_10.0/common/bin|commEnv.sh

AIX)

  if [ -n "${LIBPATH}" ]; then

    LIBPATH=${LIBPATH}:${WL_HOME}/server/native/aix/ppc64

  else

    LIBPATH=${WL_HOME}/server/native/aix/ppc64

  fi

  LIBPATH=${PATCH_LIBPATH}:${LIBPATH}

  export LIBPATH

WEBLOGIC 默认的指向是ppc目录,不是ppc64目录,当时为了下载64位的libmuxer.so浪费了很长的时间,后来发现weblogic的目录下面已经存 在64位的。

3. 使用 Weblogic Native IO 对系统性能至少有30%的提升,在生产环境中,注意检查 Native IO 是否可用。同时在安装Weblogic时,注意使用与之相对于版本的JDK。

3.12 典型案例二

a) 平台信息:

HP-UX

Weblogic923

b) 故障现象:

1.当Weblogic Native IO 启用失败时,通常会在服务器启动日志中报如下错误:

#### <> <> <> <1238504969950>

Channel Weight   50

Accept Backlog   50

Login Timeout   5000ms

Max Message Size  10000000

Message Timeout  60s

Idle Timeout   65s

Tunneling Timeout  40s

Tunneling Ping   45s>

#### <> <> <> <1238504969974>

#### <> <> <> <1238504969989> Java I/O instead. Please ensure that a native performance library is in: ‘/weblogic/opt/java1.5/jre/lib/IA64N:/weblogic/opt/java1.5/jre/lib/IA64N/server:

/weblogic/opt/java1.5/jre/../lib/IA64N:/weblogic/bea/patch_weblogic920/profiles

/default/native:

/weblogic/bea/weblogic92/server/native/hpux11/IPF32:/weblogic

/bea/weblogic92

/server/native/hpux11/IPF32/oci920_8:/usr/lib’

>

2. 同时,在系统使用过程中,常见报如下错误:

#### <> <> <> <1238588718157>

####<2009-4-3 下午09时25分55秒 GMT+08:00> <> <> <> <1238765155550> IOException

java.net.SocketException: 管道断开 (errno:32)

at java.net.SocketOutputStream.socketWrite0(Native Method)

at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:97)

at java.net.SocketOutputStream.write(SocketOutputStream.java:141)

at weblogic.utils.io.ChunkedOutputStream.writeTo(ChunkedOutputStream.java:185)

at weblogic.servlet.internal.ResponseHeaders.writeHeaders(ResponseHeaders.java:348)

at weblogic.servlet.internal.ServletResponseImpl.writeHeaders(ServletResponseImpl.

#### <> <> <> <1238728309518>

java.lang.OutOfMemoryError: unable to create new native thread

at java.lang.Thread.start0(Native Method)

at java.lang.Thread.start(Thread.java:574)

at javelin.client.ThreadPool.(ThreadPool.java:49)

at javelin.client.ClientUtilsImpl.(ClientUtilsImpl.java:92)

at javelin.client.ClientUtilsImpl.get(ClientUtilsImpl.java:106)

at com.bea.compiler.client.ClientUtils.get(ClientUtils.java:36)

c) 故障分析:

该故障很明显是在HP-UX上WebLogic Native IO启动失败。

d) 故障解决:

1. Weblogic Native IO 启用失败,通常是由于系统没有使用与Weblogic 相对应的的JDK版本所致。

2. 应当值得注意的是,在HP-UX中,通常存在 PA-RISC和Itanium两个版本的Weblogic,如果在PA-RISC平台安装Itanium平台版本的Weblogic,或者在 Itanium平台安装PA-RISC平台版本的Weblogic,同样会导致 Native IO 不可用。

3. HP-UX Weblogic 9.2 支持32位和64位的JDK,如果使用64位版本的JDK,需在启动脚本中加 -d64 参数,同时在commEnv.sh 配置文件中,注意修改“/weblogic/bea /weblogic92/server/native/hpux11 /IPF32”,使其指向“/weblogic/bea/weblogic92/server/native/hpux11/IPF64”,否则会也会导致 Native IO 启用失败 。

4. 使用 Weblogic Native IO 对系统性能至少有30%的提升(这个BEA 工程师说的),在生产环境中,注意检查 Native IO 是否可用。同时在安装Weblogic时,注意使用与之相对于版本的JDK。

3.13 典型案例三

a) 平台信息:

HP-UX

Weblogic90

b) 故障现象:

启动过程中发现

<BEA-000438> <Unable to loa

d performance pack. Using Java I/O instead. Please ensure that a native performa

nce library is in: ‘/opt/java1.5/jre/lib/IA64N:/opt/java1.5/jre/lib/IA64N/server

:/opt/java1.5/jre/../lib/IA64N::/opt/weblogic/bea/weblogic90/server/native/hpux1

1/IPF64:/opt/weblogic/bea/weblogic90/server/native/hpux11/PA_RISC:/opt/

weblogic/ bea/weblogic90/server/native/hpux11/PA_RISC/oci920_8:/usr/lib’

没有启动native io,导致系统性能低下(这里要注意HP-UX里IA64N下的是32位JDK,IA64W下的才是64位JDK),而且java io配置的值较小,产生如下报错

<BEA-000402>

5 active sockets, but the maximum number of socket reader threads allowed by the

configuration is: 4. You may want to alter your configuration.>

在应用使用过程中从而出现

untered the following error javax.servlet.jsp.JspException: Broken pipe (errno:3

2)

        at com.bea.console.taglib.html.tree.TreeTag.print(TreeTag.java:231)

        at com.bea.console.taglib.html.tree.TreeTag.doEndTag(TreeTag.java:192)

观察控制台的thread信息

Self-Tuning Thread Pool    

Active Execute Threads    Execute Thread Total Count    Execute Thread Idle Count    Queue Length    Pending User Request Count    Completed Request Count    Hogging Thread Count    Standby Thread Count    Throughput    Health

16    58    15    6048    0    144840    4    38    4.577865205875421    OK

排队的请求数多达6000个,导致了OutOfMemory,在JAVA堆还很空的情况下

c) 故障解决:

观察发现/opt/weblogic/bea/weblogic90/server/native/hpux11/IPF32下面和native io相关的libmuxer.so没有执行权限,chmod +x 后再次启动错误信息不再出现。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/507279/viewspace-713997/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/507279/viewspace-713997/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值