2014-01-09 63 views
0

我得到以下異常時,與web服務加載服務器調用:Oracle WebLogic服務器:java.net.SocketException異常「打開的文件太多」

<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),它工作正常,但是當使用HTTPS/SSL時,我得到這個錯誤。

有沒有人在這裏有任何線索我能做些什麼來解決這個問題?

謝謝!

+0

經過更多的分析,這個案例被清除了,問題是weblogic集羣配置的結果。 「打開文件」正在等待關閉兩個節點之間的羣集通信。請參閱<單播接收錯誤:java.io.EOFException「>請參閱: http://modj.org/home/aktueles/bea-002616-failed-to-listen-on-channel-on-listenaddressport/a7e2db8254aee4603e4ecaf98a43e85e。 HTML – 2014-02-15 14:19:56

回答

0

BEA-002616

嚴重:無法偵聽信道上的ListenAddress 「信道」:端口,故障計數:fails1,不能用於secs2秒,E3

說明

服務器收聽者將稍後再試聽。 原因

服務器在嘗試接受客戶端連接時發生異常。它將嘗試退縮以幫助恢復。

行動

爲打開的文件描述符(FD限制)的數量限制OS需要增加。調整可能有助於服務器接受更多客戶端連接(例如,TCP接受日誌)的OS參數。

請檢查下面的鏈接的類Unix操作系統

http://modj.org/home/aktueles/bea-002616-failed-to-listen-on-channel-on-listenaddressport/a7e2db8254aee4603e4ecaf98a43e85e.html

0

Oracle融合中間件活動使用文件的描述符。你應該向上打開的文件描述符限制你的用戶(用戶在啓動的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 
相關問題