首页 > 代码库 > weblogic 12 套接字泄露处理方法
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
APPLIES TO:Oracle WebLogic Server - Version 12.1.2.0.0 and laterInformation in this document applies to any platform. SYMPTOMSIn 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. CAUSEUsing 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:
SOLUTIONSolution 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:
REFERENCESBUG:18396023 - NIO: MANY NATIVE SOCKETS IN CLOSE_WAIT, NO JAVA SOCKET LEAKS BUG:18289179 - SETTING MAX-OPEN-SOCK-COUNT REQUIRES ENTITY REBOOT |
weblogic 12 套接字泄露处理方法