weblogic 12 套接字泄露处理方法

  现场weblogic报<DynamicListenThread[Default]> <<WLS Kernel>> <> <> <1417715701920> <BEA-002631> <Max threshold reached for open sockets [total open sockets: 5,000, allowed max: 5,000]. No more connections allowed.>

   处理方法有两种:

转到底部转到底部


In this Document

Symptoms
 Cause
 Solution
 References


APPLIES TO:

Oracle WebLogic Server - Version 12.1.2.0.0 and later
Information in this document applies to any platform.

SYMPTOMS

In a lightly loaded staging environment, the maximum open sockets was reached as below.

06-Dec-2013 20:03:03 o'clock GMT Warning Server rds09470app145 rdms1-restgp2b DynamicListenThread[Default] WLS Kernel 1386360183611 BEA-002631 Max threshold reached for open sockets [total open sockets: 1,000, allowed max: 1,000]. No more connections allowed.

In WLS 11g and 8.1 domains running on the same hardware with 1000 sockets, this issue was not observed.

CAUSE

Using NIOSocketMuxer (the default socket muxer in 12.1.2), the socket closure depends on the finalizer mechanism. If the finalizer thread does not kick in (e.g., no GC), the socket closure will not happen and you will reach the number of open sockets configured.

A second issue was that disabling the MAX-OPEN-SOCK-COUNT setting requires a reboot, although the console says that a reboot is unnecessary.

A third issue was that although the first issue is solved, a number of sockets in CLOSE_WAIT were still found, leading to the server ceasing to process requests.

Observations:

  1. For the first issue, when using JFR (that regularly kicks GC), the issue does not happen. The source code analysis confirms this.
  2. For the second issue, this is shown in console and while reproducing the first issue.
  3. For the third issue, one could watch, only on the customer instances, this phenomenon, although first issue was fixed! The same symptom occurred (leak of CLOSE_WAIT sockets) but in this case, stopping JFR does not make the issue disappear.

SOLUTION

Solution retained by this customer is to drop MAX-OPEN-SOCK-COUNT and to apply the known workaround against the deadlock. The other solution is to install the following patches on WLS 12.1.2:

REFERENCES


BUG:18396023 - NIO: MANY NATIVE SOCKETS IN CLOSE_WAIT, NO JAVA SOCKET LEAKS
BUG:18289179 - SETTING MAX-OPEN-SOCK-COUNT REQUIRES ENTITY REBOOT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值