从日志本身可以发现“Too many open files”,说明同时打开的文件数过多,于是想起Linux/AIX操作系统中会有参数设置允许同时打开的最大文件数量,具体查看方法可以参考:
Linux
管理用户可以在 etc/security/limits.conf 配置文件中设置他们的文件描述符极限,如下例所示。
soft nofile 1024
hard nofile 4096
发现linux下根本就没有限制。
猜测是由WebLogic的配置文件指定了部署在WebLogic上的应用允许同时打开的最大文件数量。
首先查看startWebLogic.sh和setDomainEnv.sh,都没有发现类似设置,接下来查看WebLogic本身的配置commEnv.sh(***\wlserver_10.3\common\bin),发现如下内容:
# limit the number of open file descriptors
resetFd() {
if [ ! -n "`uname -s |grep -i cygwin || uname -s |grep -i windows_nt || \
uname -s |grep -i HP-UX`" ]
then
maxfiles=`ulimit -H -n`
if [ "$?" = "0" -a `expr ${maxfiles} : '[0-9][0-9]*$'` -eq 0 ]; then
ulimit -n 1024
fi
果然在该配置文件中指定了该数量,其默认值为1024,尝试将其改大,在网上查了下,在AIX4.3版本之后该值最大可以被设置为32768,于是我尝试将其改成了32768,重新启动WebLogic,正常被启动,且再未出现该异常:)
阅读(2430) | 评论(0) | 转发(0) |