使用 Web 服务调用加载服务器时出现以下异常:
<2013-nov-19 kl 0:23 CET> <Critical> <Server> <BEA-002616> <Failed to listen on
channel "Default" on 10.39.21.109:28404, failure count: 1, failing for 0 seconds,
java.net.SocketException: Too many open files (errno:24)>
使用的机器是 HP-UX。
如果我查看应用程序已打开的这些文件(使用 lsof),我可以看到有一个尚未关闭的 Web 服务连接。
java 19290 xxxx 2102u IPv4 0xe00000038b2df680 0t2534
TCP u30427.xx.yy:63565->u30436.xx.yy:36693 (CLOSE_WAIT)
这些连接会随着时间的推移而增加,并达到允许的最大文件数,因此会抛出"打开的文件过多"。
奇怪的是,如果我使用HTTP(没有SSL),它可以正常工作,但是当使用HTTP/SSL时,我会收到此错误。
这里有人知道我能做些什么来解决这个问题吗?
谢谢!
BEA-002616
严重:无法侦听侦听地址:端口上的通道"通道",故障计数:失败 1,失败 2 秒,e3
描述
服务器侦听器将在短暂延迟后重试侦听。原因
服务器在尝试接受客户端连接时出现异常。它将尝试退缩以帮助恢复。
行动
需要增加打开文件描述符数量的操作系统限制(FD 限制)。调整可能有助于服务器接受更多客户端连接的操作系统参数(例如,TCP 接受积压日志)。
请查看以下链接
http://modj.org/home/aktueles/bea-002616-failed-to-listen-on-channel-on-listenaddressport/a7e2db8254aee4603e4ecaf98a43e85e.html
Oracle Fusion Middleware active 在类 Unix 操作系统上使用文件的描述符。您应该为用户(启动 WebLogic Server 的用户)设置打开文件描述符限制:
将以下信息添加到文件/etc/security/limits.conf 中:
weblogic soft nproc 32768
weblogic hard nproc 32768
weblogic soft nofile 32768
weblogic hard nofile 32768
(WebLogic是您的用户),比使用WebLogic用户重新登录并测试打开文件描述符限制:
$ ulimit -n